系統安裝後如何減少交換空間的大小?

系統安裝後如何減少交換空間的大小?

我正在運行 Debian Squeeze 6.0.5。使用交換記憶體是否會使我的電腦運行速度變慢?如果是這樣,在系統安裝後如何減少交換記憶體的大小?

答案1

人們並不總是想減少它,但通常會增加其惰性使用量 - 交換中的乾淨頁面越多越好,這意味著當需要空閒 RAM 時,可以輕鬆地將它們從 RAM 中刪除。不過,Linux VM 在交換方面有一些奇怪的行為 - 密集的磁碟 I/O(如大檔案cp)可能會使您的系統大量進行不必要的交換。可以透過以下方式在一定程度上緩解減少 vm.swappinness增加 vfs_cache_pressure儘管此類對策的效果並不總是達到預期。我覺得提一下也是有道理的交換這裡——對於某些工作負載來說它可能很有用。

答案2

若要暫時關閉交換,請使用(以 root 身分)指令:

swapoff -a

若要將其重新開啟:

swapon -a

若要永久關閉它,請編輯該檔案/etc/fstab並註解掉類型列中帶有 swap 的所有行。

更多的交換並不總是能提高效能。有時減少它或關閉它會更好 - 這完全取決於應用程式的組合。

我快速谷歌了一下,找到了一篇關於這個主題的好文章:

https://www.linux.com/news/software/applications/8208-all-about-linux-swap-space

答案3

交換基本上有兩個目的。它允許系統在物理記憶體耗盡時繼續運行,但會帶來性能成本- 如果沒有它,物理記憶體耗盡,您會在請求比實際記憶體更多的記憶體時發生崩潰、鎖定和進程因記憶體不足錯誤而被終止。在這種情況下,效能下降是被迫將其用於活動進程的症狀,而不是交換過多的症狀。

它還可以透過將記憶體中較少使用的頁面移至磁碟直到再次需要它們來更有效地使用實體記憶體。這可以釋放記憶體用於快取目的,這通常比將不常用的程式記憶體段鎖定在實體記憶體中更有效地利用空間。

長期以來的最佳實踐是將交換空間大小設置為物理內存的兩倍,換句話說,如果您有 1GB 內存,則將 2GB 用於交換。這仍然是一個很好的建議,但實際上,具有 4GB 或更多實體 RAM 的現代系統通常可以將其降低到與系統物理記憶體相同的交換量。

使用交換時,您可以採取一些措施來提高效能。如果您有多個驅動器,建議將交換區移至更快或使用率較低的硬碟,並且在 IO 密集型系統上,透過這樣做可能會顯著提高效能。對於傳統硬碟驅動器,將交換區移至更靠近實體磁碟中心的位置可能會有所幫助,因為由於磁碟機磁頭的行程較少,中心的尋道時間通常較短。

對 SSD 進行交換也有很大幫助,但我要提醒您,這可能會對 SSD 造成大量磨損,並縮短其使用壽命。

當然,提高記憶體效能的最佳解決方案通常是在記憶體中投入更多 RAM,如果您查看記憶體使用情況,發現交換區使用量很大,而可用記憶體很少或沒有,則表示是時候了投資更多的內存。

答案4

使用它可以,擁有它則不然。如果一次執行太多佔用記憶體的程序,就會出現速度減慢的情況,這會導致交換區被使用。

如果您確實想減少它,請啟動 livecd 並啟動gparted並調整分割區大小。

相關內容