首頁 > 軟體

如何在 Linux 中更改 swappiness

2020-06-16 16:31:12

交換空間是 RAM 記憶體已滿時使用的硬碟的一部分。交換空間可以是專用交換分割區或交換檔案。

當 Linux 系統耗盡實體記憶體時,非活動頁面將從 RAM 移動到交換空間。

Swappiness 是一個 Linux 核心屬性,用於設定將頁面從實體記憶體交換到交換空間以及從頁面快取中刪除頁面之間的平衡。它基本上定義了系統使用交換空間的頻率。

本文介紹如何更改 Linux 系統上的 swappiness 值。

檢查 Swappiness 值

要檢查系統上的當前 swappiness 值,請使用以下 cat 命令:

cat /proc/sys/vm/swappiness

大多數 Linux 發行版上的預設 swappiness 值為 60 :

60

雖然 60 的 swappiness 值適合大多數使用者,但在某些情況下,您可能需要設定較低的值。

您可以用來確定 swappiness 值的另一個命令是 sysctl :

sysctl vm.swappiness
vm.swappiness = 60

改變 Swappiness 值

Swappiness 可以具有 0 到 100 之間的值。值 0 指示核心積極地避免盡可能長時間地交換。值 100 將積極地將進程交換出實體記憶體。

較低的值將使核心盡可能避免交換,而較高的值意味著核心將嘗試更積極地使用交換空間。

存取交換記憶體比直接存取實體記憶體要慢得多。 swappiness 引數的較低值很可能會提高整體系統效能。對於常規桌面安裝,建議值為 10 。對於大多數資料庫伺服器,建議使用 swappiness 值0或1。

最佳 swappiness 值取決於您的系統工作負載和 RAM 記憶體的大小。您應該以小增量調整此引數以查詢最佳值。

例如,要在執行時將 swappiness 值設定為 10 ,請以 root 或  sudo 使用者身份鍵入以下命令:

sudo sysctl vm.swappiness=10

要使 swappiness 引數在重新啟動後保持不變,請使用文字編輯器開啟檔案 /etc/sysctl.conf :

sudo nano /etc/sysctl.conf

找到 vm.swappiness 引數並更改其值。如果此引數不存在,請將以下行附加到該檔案 /etc/sysctl.conf 中

vm.swappiness=10

結論

我們已經向您展示了如何更改 swappiness 引數的值。


IT145.com E-mail:sddin#qq.com