有时我在 Ubuntu 的系统管理器中观察到,如果物理 RAM 没有完全使用,交换内存就会开始被使用。
为什么会这样?
答案1
来自 Ubuntu Wiki交换常见问题
这些大型程序使用的大量页面在启动期间可能仅用于初始化,并且永远不会再使用。系统可以交换出这些页面并释放内存供其他程序甚至磁盘缓存使用。在这些情况下,交换将用于帮助系统处理任何额外负载。
我觉得 Linux 内核在这方面做得非常好,所以你完全不用担心。你可以减少 swappiness 来增加 RAM 使用率,但我不建议这样做。
答案2
操作系统将页面发送到交换区just in case
。这样做是为了如果需要交换,它可以删除“交换”可以从内存中读取页面,而无需将其写入磁盘。
我没有证据证明这一点,但我认为它会在有空闲时间的时候这样做,因此它可以在不影响正常操作的情况下做到这一点。