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