为一些低运存的服务器或linux设备添加虚拟内存以便承载更多的程序
这里采用设置交换文件的方法
以centos7为例:
输入 :free -h
total used free shared buff/cache available
Mem: 487 312 74 28 101 134
Swap: 0 0 0
显示swap为0表示没有开启
使用命令创建交换文件1G的交换文件。count= 后面的数字就是创建多少的虚拟内存单位为m ,1024=1G以此类推dd if=/dev/zero of=/var/swap bs=1M count=1024
启用虚拟内存mkswap /var/swap swapon /var/swap
再次输入 free -h可以看到虚拟内存以生效(这里我添加的是512m的虚拟内存)
total used free shared buff/cache available
Mem: 487M 316M 13M 28M 158M 130M
Swap: 511M 0B 511M
添加开机生效echo '/var/swap swap swap defaults 0 0' >> /etc/fstab
ubuntu系统为echo '/var/swap swap swap defaults barrier=0 0 0' >> /etc/fstab
查看虚拟内存权重cat /proc/sys/vm/swappiness
通常为60 ,越小表示越积极使用物理内存,越大表示越积极使用虚拟内存
临时调整:sysctl vm.swappiness=50 cat /proc/sys/vm/swappiness
永久调整:
编辑sysctl.conf配置文件
vi /etc/sysctl.conf
添加 vm.swappiness=10
#数值为1-100范围内调整
然后加载参数:sysctl -p
删除操作swapoff /var/swap #卸载swap文件 vi /etc/fstab #从配置总删除或注释swap选项 /var/swap swap swap defaults 0 0