
有大量關於完全禁用 Ubuntu 交換的帖子。是否可以告訴 Ubuntu 允許但阻止交換使用?
我在一台配備 1Gb 記憶體和小型 SSD 的筆記型電腦上安裝了 Xubuntu,將其變成了 Samba 伺服器。在最壞的情況下,可用記憶體仍然可以容納交換文件中的所有資料:
~$ free -m
total used free shared buffers cached
Mem: 991 696 294 17 66 175
-/+ buffers/cache: 454 536
Swap: 1952 107 1845
當可用記憶體可用時,我不鼓勵使用交換,因為交換會進行大量 IO 寫入,從而快速降低 SSD 效能。
是否可以將 RAM 優先於交換,或選擇僅限於「交換開/關」?如果有的話會引起什麼副作用?
感謝您指出現有的答案,它們是相關的,但很難找到。使用者必須知道 90% 的答案才能搜尋「如何設定 swappiness」。問題得到解答。希望這個問題標題有助於索引。
答案1
除非您有一個相當舊的 SSD,否則半現代 SSD 可以處理大量寫入,因此如果您有半現代 SSD,您實際上不需要執行任何操作。
如果您仍然想減少交換,請減少swappiness
(現代 Linux 上的最小值是1
,而不是0
,如果您想全力以赴,儘管這10
是建議的最小值,並且60
是 Ubuntu 預設值)。當交換最終開始時,這會大大減慢速度(如果記憶體壓力很大,系統可能會凍結相當長一段時間),因為幾乎不會提前交換任何東西。
要設置swappiness
,請將10
下面替換為swappiness
您想要的1
to 100
,其中較低的值交換頻率較低。開啟終端機(按Ctrl+ Alt+ T),然後執行:
sudo sysctl vm.swappiness=10
sudo nano /etc/sysctl.conf
現在,在底部新增一行(或如果已經有一行vm.swappiness
,則進行編輯):
vm.swappiness = 10
按Ctrl+O儲存。按Ctrl+X退出nano
。關閉終端機視窗。