2-4GB 系統上有多少 SWAP 空間?
我應該如何決定在具有 2-4 GB RAM 的新 Linux 機器 (Debian) 上進行交換的大小?我真的需要交換空間嗎?
有很多方法可以計算出機器中有多少交換使用。常見建議使用基於 RAM 的公式,例如 2 x RAM、1.5 x RAM、1 x RAM、.75 x RAM 和 .5 x RAM。很多時候,公式會根據 RAM 的數量而變化(因此具有 1GB RAM 的盒子可能使用 2 x RAM 交換(2GB),而具有 16GB 記憶體的盒子可能使用 0.5 x RAM 交換(8GB)。
要考慮的另一件事是盒子將用於什麼。如果您要在盒子上執行大量並發執行的程序,但其中很大一部分會在一段時間內處於空閒狀態,那麼添加額外的交換是有意義的。如果您要執行少量關鍵程序,那麼添加額外的交換是有意義的(這可能看起來違反直覺,但我會在一分鐘內解釋)。如果您將一個盒子作為桌面執行,那麼添加額外的交換是有意義的。
至於你是否應該包括交換,是的,你應該。除非您真的知道自己在做什麼,並且您確實有充分的理由,否則您應該始終包含交換空間。
看,Linux 核心的工作方式,交換不僅僅在你用盡所有物理記憶體時使用。Linux 核心將獲取不活動(休眠)的應用程序,並在一段時間後將應用程序移至實際記憶體中的交換。結果是,當您需要該應用程序時,在將應用程序的記憶體從交換區讀回 RAM 時,會出現短暫的延遲(通常只有一兩秒)。這通常是一件好事。
這允許您將不活動的應用程序置於“睡眠”狀態,讓您的活動應用程序可以訪問額外的 RAM。此外,Linux 將使用機器上任何可用的(未分配的)RAM 作為磁碟記憶體,使大多數(慢速)磁碟活動更快、響應更快。交換非活動程序可為您提供更多磁碟記憶體,並使您的機器整體速度更快。
最後,讓我們面對現實吧,磁碟空間很便宜。真的很便宜。根本沒有充分的理由不刷(相對)一小塊空間進行交換。如果我在一台機器上執行 2GB - 4GB 的 RAM,我可能會將我的交換空間設置為至少等於 RAM。如果它小於 2GB 的 RAM,那麼我仍然會選擇至少 2GB 的交換空間。
更新:作為一個很好的評論提到(我忘了包括),如果您正在執行可能想要置於“休眠”模式(掛起到磁碟)的筆記型電腦或台式機,那麼您總是想要至少一樣多交換,因為你有記憶。交換空間將用於在電腦“休眠”時儲存 RAM 中的內容。