2021-05-12 14:32:11
如何在Ubuntu上增加swap交換空間
防止應用程式記憶體不足的最簡單方法之一是增加伺服器中的swap交換空間大小。在本文中,我們將解釋如何向Ubuntu伺服器增加swap交換空間。
步驟1:檢查swap交換空間資訊
在開始之前,首先執行以下命令,確保檢查系統是否已經有可用的交換空間。
linuxidc@linuxidc:~/www.linuxidc.com$ sudo swapon --show
[sudo] linuxidc 的密碼:
NAME TYPE SIZE USED PRIO
/swapfile file 2G 0B -2
檢查Ubuntu中的交換空間
如果您沒有看到任何輸出,則表示您的系統當前沒有可用的交換空間。
您還可以使用free命令確認沒有可用的交換空間。
linuxidc@linuxidc:~/www.linuxidc.com$ free -h
總計 已用 空閒 共用 緩衝/快取 可用
記憶體: 3.8G 1.5G 569M 32M 1.8G 2.1G
交換: 2.0G 0B 2.0G
您可以從上面的輸出中看到,系統上沒有活動交換。
第2步:檢查分割區上的可用空間
要建立交換空間,首先需要檢查當前的磁碟使用情況,並確認有足夠的空間在系統上建立交換檔案。
檢查Ubuntu中的檔案系統磁碟使用情況
再 / 的分割區有足夠的空間可用於建立swap檔案。
第3步:在Ubuntu中建立swap檔案
現在我們將使用fallocate命令在我們的Ubuntu根(/)目錄上建立一個名為“swap.img”的交換檔案(大小為1GB),您可以根據需要調整大小。並使用ls命令驗證交換的大小 如圖所示。
linuxidc@linuxidc:~/www.linuxidc.com$ sudo fallocate -l 1G /swap.img
[sudo] linuxidc 的密碼:
linuxidc@linuxidc:~/www.linuxidc.com$ ls -lh /swap.img
-rw-r--r-- 1 root root 1.0G Jul 26 01:54 /swap.img
在Ubuntu中建立swap檔案
從上面的輸出中,您可以看到我們已經建立了具有正確空間量(即1GB)的交換檔案。
第4步:在Ubuntu中啟用swap檔案
要在Ubuntu中啟用swap檔案,首先需要在檔案上設定正確的許可權,以便只有root使用者才能存取該檔案。
linuxidc@linuxidc:~/www.linuxidc.com$ sudo chmod 600 /swap.img
linuxidc@linuxidc:~/www.linuxidc.com$ ls -lh /swap.img
-rw------- 1 root root 1.0G Jul 26 01:54 /swap.img
在交換檔案上swap許可權
從上面的輸出中,您可以看到只有root使用者具有讀寫許可權。
現在執行以下命令將檔案標記為swap交換空間,並啟用交換檔案以開始在系統上使用它。
linuxidc@linuxidc:~/www.linuxidc.com$ sudo mkswap /swap.img
正在設定交換空間版本 1,大小 = 1024 MiB (1073737728 個位元組)
無標籤, UUID=735aa07f-d43e-4cec-92e3-383815de7317
linuxidc@linuxidc:~/www.linuxidc.com$ sudo swapon /swap.img
在Ubuntu中啟用swap交換空間
通過執行以下命令驗證交換空間是否可用。
linuxidc@linuxidc:~/www.linuxidc.com$ sudo swapon --show
NAME TYPE SIZE USED PRIO
/swapfile file 2G 0B -2
/swap.img file 1024M 0B -3
linuxidc@linuxidc:~/www.linuxidc.com$ free -h
總計 已用 空閒 共用 緩衝/快取 可用
記憶體: 3.8G 1.5G 549M 32M 1.8G 2.0G
交換: 3.0G 0B 3.0G
驗證Ubuntu中的交換空間
從上面的輸出中可以看出,我們的新交換檔案已經成功建立,我們的Ubuntu系統將在必要時開始使用它。
第5步:在Ubuntu中永久掛載交換檔案
要使交換空間永久化,您需要在/etc/fstab檔案中新增交換檔案資訊,並通過執行以下命令對其進行驗證。
linuxidc@linuxidc:~/www.linuxidc.com$ echo '/swap.img none swap sw 0 0' | sudo tee -a /etc/fstab
linuxidc@linuxidc:~/www.linuxidc.com$ cat /etc/fstab
第6步:調整Ubuntu中的交換設定
您需要設定一些設定,這些設定會影響您在使用交換時的Ubuntu效能。
調整Swappiness值
Swappiness是一個Linux核心引數,用於指定系統將資料從RAM交換到交換空間的頻率(以及頻率)。 此引數的預設值為“60”,它可以使用“0”到“100”之間的任何值。 值越高,核心使用的交換空間越高。
首先,鍵入以下命令檢查當前的swappiness值。
linuxidc@linuxidc:~/www.linuxidc.com$ cat /proc/sys/vm/swappiness
60
檢查Swappiness值
當前的swappiness值為60非常適合桌面使用,但對於伺服器,您必須將其設定為較低的值,即10。
linuxidc@linuxidc:~/www.linuxidc.com$ sudo sysctl vm.swappiness=10
要使此設定永久化,您需要將以下行新增到/etc/sysctl.conf檔案中。
vm.swappiness=10
調整快取壓力設定
您可能想要更改的另一個類似設定是vfs_cache_pressure - 此設定指定系統要在其他資料上快取inode和dentry詳細資訊的程度。
您可以通過查詢proc檔案系統來檢查當前值。
linuxidc@linuxidc:~/www.linuxidc.com$ cat /proc/sys/vm/vfs_cache_pressure
100
檢查快取壓力設定
當前值設定為100,這意味著我們的系統會過快地從快取中刪除inode資訊。 我建議,我們應該將它設定為更穩定的設定,如50。
linuxidc@linuxidc:~/www.linuxidc.com$ sudo sysctl vm.vfs_cache_pressure=50
要使此設定永久化,您需要將以下行新增到/etc/sysctl.conf檔案中。
vm.vfs_cache_pressure=50
完成後儲存並關閉檔案。
第7步:刪除Ubuntu中的交換檔案
要刪除或刪除新建立的交換檔案,請執行以下命令。
linuxidc@linuxidc:~/www.linuxidc.com$ sudo swapoff -v /swap.img
swapoff /swap.img
linuxidc@linuxidc:~/www.linuxidc.com$ sudo rm -rf /swap.img
最後,從/etc/fstab檔案中刪除交換檔案條目。
就這樣! 在本文中,我們已經解釋了如何在Ubuntu發行版上建立swap交換檔案。 如果您對本文有任何疑問,請隨時在下面的評論部分提出您的問題。
相關文章