我想通过使用闪存,SSD等快速设备作为交换设备来减少kswapd超时以提高性能。

最佳答案

您可以通过两种方式更改kswapd的行为

通过Proc文件系统

IBM Developerworks


/ proc / sys / vm / kswapd


内核一次尝试释放的最大页面数。如果您想增加往返交换的带宽,则需要增加
这个号码。
内核在每次交换中尝试释放页面的最小次数。
内核一次交换可写入的页面数。这对系统性能有最大的影响。值越大,越多
可以交换数据,减少花费在磁盘搜索上的时间。然而,
太大的值会对系统性能产生不利影响
泛滥请求队列



通过内核代码

kswapd( void *p )调用kswapd_try_to_sleep()Here is where kswapd守护程序尝试进​​入睡眠状态。像这样-

schedule_timeout(HZ/10) /* You need to modify here to change the timeout value */


实际上,这是一个很短的睡眠时间。短暂睡眠后,它将检查是否为早睡。如果不是这样,它将完全进入睡眠状态(此处没有超时),直到被明确唤醒。

调整内核代码,构建和测试它并非易事。因此,我建议您采用/proc文件系统方式!

08-17 05:40