通过swappiness参数调整Ubuntu的swap切换比率

有的时候会发现明明系统还有大量可用内存,但是Ubuntu却使用了很高的swap交换分区。
通常是由swappiness配置项导致的。
Ubuntu官方:swappiness参数解释

1
2
3
4
5
6
7
8
9
10
11
12
13
# swappiness 取值介于 0 到 100
# swappiness=0: 通知内核避免把进程从物理内存中切换到swap
# swappiness=100: 通知内核更激进的把进程移到swap
# swappiness=60: Ubuntu的默认值,对于Ubuntu服务器系统是一个比较均衡的配置;对于Ubuntu桌面系统,减少这个值一般会改善使用体验
# swappiness=10: 是一个比较推荐的值,但是需要实际设置来验证效果
# swappiness的临时修改方法如下,系统重启后参数失效:
sudo sysctl vm.swappiness=10

# 永久修改方法:
sudo vi /etc/sysctl.conf
# 查找vm.swappiness并修改为合适的值,如果不存在可以加到conf文件末尾,重新加载或者重启反映
vm.swappiness=10
sudo sysctl --load=/etc/sysctl.conf