Linux
在 Ubuntu 伺服器中完全使用 SWAP 有什麼危險?
我的一台 Ubuntu 伺服器的交換分區已滿。這種情況有哪些危險和/或性能影響?
交換基本上有兩個作用 - 首先將較少使用的“頁面”從記憶體中移出到儲存中,以便更有效地使用記憶體。其次,如果記憶體不足,它會“添加”記憶體。
如果是前一種情況,沒關係。對於後一種情況,有兩種可能的情況。首先,您會增加磁碟使用量。如果您的磁碟速度不夠快,無法跟上速度,那麼您的系統可能最終會崩潰,並且隨著數據在記憶體中的換入和換出,您會遇到速度變慢的情況。這將導致瓶頸。
第二種可能性是您可能會耗盡記憶體,從而導致奇怪和崩潰。
有幾種方法可以解決這個問題。首先,更多的交換。一種選擇可能是在下次進行維護時增加交換分區的大小,或者切換到交換文件。這兩種方法都在解決主要問題,但應該讓你在短期內渡過難關。
真正的解決方案是添加更多記憶體。沒有真正的黃油公羊的替代品,如果你有足夠的記憶體,你會交換更少。
如果由於某種原因儘管記憶體已用完,您仍然在進行大量交換,請考慮使用更快的儲存進行交換 - SSD 可能是一種比在旋轉驅動器上進行交換更快的選項。與使用旋轉驅動器相比,這可能最終會形成一個更快的系統,並且使用足夠大的 SSD,設置更多的備用空間,您可以最大限度地延長驅動器的使用壽命並提高性能穩定性,但會犧牲一些空間。它是一種回歸,但在這裡可以選擇一個單獨的交換驅動器。
如果你想把它做對,你可能還想弄清楚是什麼消耗了這麼多記憶體,以及為什麼。Htop 是一個好的開始,並且有一個完整的問題,然後嘗試根據需要調整程序。這當然取決於整體性能和其他要求,並且可能特定於程序,以及它的用途