修改代码让Linux允许swappiness=200,更多交换页面到zram上
发表于 : 2017-11-13 2:32
修改代码让Linux允许swappiness=200,更多交换页面到zram上
思路来源:https://lwn.net/Articles/690079/
具体步骤:
./linux-4.13.4/kernel/sysctl.c里查找swappiness
1.把对应结构体里的extra2的内容从one_hundred改成one_thousand
2.配置文件要从相应版本的官方Debian包来提取.
3.在内核源码根目录运行`make deb-pkg`然后就可以在内核源码根目录的上层目录找到生成的deb包,直接dpkg -i安装就行
个人试了试,貌似确实`free -h`显示的cache部分比swappiness=100变多约一倍,总体来说没什么感觉,貌似从卡在硬盘变成了卡在CPU上.
可能是我E5500 CPU太渣的原因.
需要注意swappiness最大只能到200,超过200则没有意义并可能产生不可预知的行为.
http://elixir.free-electrons.com/linux/ ... an.c#L2266
Thu Nov 23 13:34:45 CST 2017补充:
貌似swappiness=199不会出现的大量swap-out的情况
swappiness=199和swappiness=100的区别目前暂时未知.
思路来源:https://lwn.net/Articles/690079/
具体步骤:
./linux-4.13.4/kernel/sysctl.c里查找swappiness
1.把对应结构体里的extra2的内容从one_hundred改成one_thousand
2.配置文件要从相应版本的官方Debian包来提取.
3.在内核源码根目录运行`make deb-pkg`然后就可以在内核源码根目录的上层目录找到生成的deb包,直接dpkg -i安装就行
个人试了试,貌似确实`free -h`显示的cache部分比swappiness=100变多约一倍,总体来说没什么感觉,貌似从卡在硬盘变成了卡在CPU上.
可能是我E5500 CPU太渣的原因.
需要注意swappiness最大只能到200,超过200则没有意义并可能产生不可预知的行为.
http://elixir.free-electrons.com/linux/ ... an.c#L2266
Thu Nov 23 13:34:45 CST 2017补充:
貌似swappiness=199不会出现的大量swap-out的情况
swappiness=199和swappiness=100的区别目前暂时未知.