在 Ubuntu 服务器中完全使用 SWAP 有什么危险?

Ita*_*not 6 linux ubuntu swap

我的一台 Ubuntu 服务器的交换分区已满。这种情况的危险和/或性能后果是什么?

Jou*_*eek 8

交换基本上有两个作用 - 首先将较少使用的“页面”从内存中移出到存储中,以便可以更有效地使用内存。其次,如果内存不足,它会“添加”内存。

如果是前一种情况,那没关系。对于后一种情况,有两种可能的情况。首先,您会增加磁盘使用。如果您的磁盘速度不够快,无法跟上,那么您的系统最终可能会出现颠簸,并且随着数据进出内存,您会遇到速度减慢。这会导致瓶颈。

第二种可能性是,你可能会遇到的内存,从而导致wierdness和崩溃。

有几种方法可以解决这个问题。首先,更多的交换。一种选择可能是在您下次进行维护时增加交换分区的大小,或者切换到交换文件。这两种方法都在解决主要问题,但应该可以让您在短期内渡过难关。

真正的解决方案是增加更多的内存。没有什么可以替代真正的黄油ram,如果你有足够的内存,你会减少交换。

如果由于某种原因,尽管内存已满,但仍大量交换,请考虑使用更快的存储进行交换 - SSD 可能是一种比在旋转驱动器上进行交换更快的选择。这可能会导致比使用旋转驱动器更快的系统,并且使用足够大的 SSD 和更多的备用空间集,您可以最大限度地延长驱动器的使用寿命并提高性能稳定性,但会牺牲一些空间。它是一种回归,但在这里可能有一个单独的交换驱动器。

如果你想把它做对,你可能还想弄清楚什么消耗了那么多内存,以及为什么。Htop 是一个好的开始,并且有一个完整的问题,然后尝试根据需要调整程序。这当然取决于整体性能和其他要求,并且可能特定于程序,以及它的用途