是否有系统调用将内存从交换区移回 RAM?

是否有系统调用将内存从交换区移回 RAM?

我想知道,如果有足够的可用 RAM,是否有一个系统调用,或者是否曾经讨论过,将内存页面从交换区移回 RAM?我在想类似臭名昭著的事情

swapoff -a
swapon -a

但以更安全的方式(如果没有足够的 RAM,不要移回剩余的页面)并且只有在计算机空闲时才可能。

我看到问题了“如何将内存内容恢复到 RAM 中”很多时候,所以我想知道其他人是否也考虑过更智能的解决方案?

可能的用例:某个应用程序耗尽了所有 RAM,导致其他应用程序的内存被换出。该应用程序终止后,RAM 中将再次有足够的空间用于剩余的应用程序。如果用户的内存在需要访问时驻留在快速设备上(没有滞后行为),那么用户体验将大大改善,因此如果在计算机空闲时间内进行取消交换将是有益的。突出的例子是窗口管理器、桌面环境、浏览器或其他内存密集型应用程序。

相关内容