当 Linux 操作系统内存不足且没有交换时会发生什么

当 Linux 操作系统内存不足且没有交换时会发生什么

当 Linux 操作系统内存不足并且没有可用的交换空间时会发生什么?

答案1

当操作系统内存不足且没有交换时,它会丢弃干净页面。它无法丢弃脏页,因为它必须先将它们写入某处。如果内存不足以容纳工作集,这会导致系统抖动和性能下降。这是您真正需要交换的主要原因之一——这样操作系统就可以更好地决定要驱逐哪些页面。

如果没有交换,系统一旦没有更多干净页面可以清除,虚拟内存(严格来说,是 RAM+交换)就会耗尽。然后系统将不得不终止进程。

内存耗尽完全正常。这只是使用RAM。不耗尽 RAM 也可以被描述为“浪费 RAM”。一旦所有 RAM 都已使用,操作系统就会做出明智的决定,决定哪些内容应保留在 RAM 中,哪些内容不应保留。如果没有任何交换,它的选择就更少了。

无论有没有交换,当驱逐页面不够时,操作系统将首先拒绝允许需要内存的操作(例如mmapfork)成功。但是,有时这还不够,必须终止进程。

相关内容