Linux增加虚拟内存方法

在linux中,当物理内存mem不足时,就会使用虚拟内存(swap分区)

推荐Swap分区大小

系统的Swap分区大小设置多大才是最优呢?

关于这个问题,应该说只能有一个统一的参考标准,具体还应该根据系统实际情况和内存的负荷综合考虑,像ORACLE的官方文档就推荐如下设置,这个是根据物理内存来做参考的。

RAM Swap Space
Up to 512 MB 2 times the size of RAM
Between 1024 MB and 2048 MB 1.5 times the size of RAM
Between 2049 MB and 8192 MB Equal to the size of RAM
More than 8192 MB 0.75 times the size of RAM

推荐参考:

4G以内的物理内存,SWAP 设置为内存的2倍。

4-8G的物理内存,SWAP 等于内存大小。

8-64G 的物理内存,SWAP 设置为8G。

64-256G物理内存,SWAP 设置为16G。

操作步骤

  1. 查看内存大小

    free -mh
    
  2. 创建要作为swap分区的文件:增加1GB大小的交换分区,则命令写法如下,其中的count等于想要的块的数量(bs*count=文件大小)

    dd if=/dev/zero of=/tmp/big_swap bs=1M count=1024
    
  3. 目录空间大小

    du -sh /tmp/big_swap
    
  4. 格式化为交换分区文件

    #建立swap的文件系统
    mkswap /tmp/big_swap
    
  5. 启用交换分区文件

    #启用swap文件
    swapon /tmp/big_swap
    
  6. 查看下扩充后的内存

    free -mh
    
  7. 使系统开机时自启用,在文件/etc/fstab中添加一行

    /root/swapfile swap swap defaults 0 0
    
  8. 关闭某个分区

    swapoff /tmp/big_swap