1.现象
设置了swap,在物理内存基本占满时,swap的used还是占用很少,且部分服务出现了oom。
2.解决过程
2.1.查看sysctl参数,发现swappiness值是0。
cat /proc/sys/vm/swappiness
2.2.修改swappiness的值。
方法一
修改/etc/sysctl.conf
中的swappiness
属性的值为60(大多数linux发行版默认值),永久生效。
vim /etc/sysctl.conf
使修改生效
sysctl -p
方法二
临时修改,直接执行命令,立即生效,重启服务器后恢复原始值
sysctl vm.swappiness=10
2.3.观察效果
再开启其他服务时,swap使用率开始增加
3.swappiness的含义
swappiness是Linux的一个内核参数,控制系统在进行swap时,内存使用的相对权重。
swappiness值的范围在0-100之间。值越低,swap使用权重越低。大多数linux发行版的swappiness都设置为60,代表你的内存在使用到100-60=40%的时候,就开始出现有交换分区的使用。值不建议设置过大,swap权重过大会拖慢服务的性能。