我的经验是,在物理内存耗尽之前,Linux 可以正常工作。一旦使用交换空间,性能就会严重下降并且 GUI 变得无响应。
这个问题不限于特定的发行版或桌面,因为我已经尝试了一些(问题仍然存在)。
我该怎么办?
缓存被换出的页面对我来说听起来很适得其反。如果交换页面,首先将它们缓存在内存中,然后再将它们移动到正确的位置有什么好处?即使页面被主动换入,“只是”换入不是更有意义吗?实际上缓存交换不只是浪费资源吗?
我想部署以下交换策略:
linux内核可以使用这种交换策略吗?如果是这样,我如何设置内核设置来实现这一点?
编辑:
显然这样做的原因是为了减少需要换出的页面数量。只需要将脏页写入磁盘,这会随着时间的推移在后台发生。因此,当发生页面缺失时(即页面不在内存中),不需要从内存向磁盘写入任何页面,而只需从磁盘向内存写入。因此,它降低了 I/O 瓶颈的可能性,因为换入和换出尝试同时访问磁盘。