我想通过使用闪存、SSD 等快速设备作为交换设备来减少 kswapd 超时以提高性能。
您可以更改以下行为kswapd
通过2种方式
通过Proc文件系统
From IBM 开发者工作坊 http://www.ibm.com/developerworks/linux/library/l-adfly/index.html,
/proc/sys/vm/kswapd
内核一次尝试释放的最大页数。如果您想增加交换的带宽,则需要增加
这个号码。
内核尝试在每个交换上释放页面的最小次数。
内核可以在一个交换区中写入的页数。这对系统性能影响最大。值越大越多
数据可以交换并且磁盘查找所花费的时间更少。然而,
太大的值会对系统性能产生不利影响
淹没请求队列
通过内核代码
kswapd( 无效 *p ) http://lxr.free-electrons.com/source/mm/vmscan.c#L2996 calls kswapd_try_to_sleep() http://lxr.free-electrons.com/source/mm/vmscan.c#L2939. 这是哪里 http://lxr.free-electrons.com/source/mm/vmscan.c#L2951 the kswapd
守护进程尝试休眠。像这样-
schedule_timeout(HZ/10) /* You need to modify here to change the timeout value */
实际上,这是它睡眠的一个非常短的时间段。经过短暂的睡眠后,它会检查是否是过早睡眠。如果没有,它将完全进入睡眠状态(这里没有超时),直到明确唤醒。
调整内核代码、构建和测试它并不是一件容易的事。所以我建议你去/proc
文件系统方式!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)