当我运行使用大部分 16GB 物理内存的应用程序时,Linux 内核会从内存中换出大部分页面。应用程序完成后,每个操作(键入命令、切换工作区、打开新网页等)都需要很长时间才能完成,因为首先需要从交换中读回相关页面。
有没有办法告诉 Linux 内核将页面从交换区复制回物理内存,而无需手动接触(和等待)每个应用程序?我运行了很多应用程序,所以等待总是很痛苦。
我经常swapoff -a && swapon -a用来使系统再次响应,但这会从交换中清除页面,因此下次运行脚本时需要再次写入它们。
是否有内核接口(可能使用 sysfs)来指示内核从交换中读取所有页面?
编辑:我确实在寻找一种方法来使所有交换交换缓存。(感谢德罗伯特!)
[PS serverfault.com/questions/153946/...和serverfault.com/questions/100448/...是相关主题,但没有解决如何让Linux内核在不清除swap的情况下将页面从swap复制回内存的问题。]