新聞中心
Linux系統(tǒng)下的Swap交換空間與Windows下的虛擬內存意思差不多,Swap交換空間的作用可簡單這樣理解:當系統(tǒng)的物理內存不夠用的時候,就需要將物理內存中的一部分空間釋放出來,以供當前運行的程序使用。那些被釋放的空間可能來自一些很長時間沒有什么操作的程序,這些被釋放的空間被臨時保存到Swap空間中,等到那些程序要運行時,再從Swap中恢復保存的數據到內存中。

步驟1:檢查swap交換空間信息
在開始之前,首先運行以下命令,確保檢查系統(tǒng)是否已經有可用的交換空間。
linuxidc@linuxidc:~/www.linuxidc.com$ sudo swapon --show
[sudo] linuxidc 的密碼:
NAME TYPE SIZE USED PRIO
/swapfile file 2G 0B -2
檢查Ubuntu中的交換空間
如果您沒有看到任何輸出,則表示您的系統(tǒng)當前沒有可用的交換空間。
您還可以使用free命令確認沒有可用的交換空間。
linuxidc@linuxidc:~/www.linuxidc.com$ free -h
總計 已用 空閑 共享 緩沖/緩存 可用
內存: 3.8G 1.5G 569M 32M 1.8G 2.1G
交換: 2.0G 0B 2.0G
Ubuntu中的交換空間為2G
您可以從上面的輸出中看到,系統(tǒng)上沒有活動交換。
第2步:檢查分區(qū)上的可用空間
要創(chuàng)建交換空間,首先需要檢查當前的磁盤使用情況,并確認有足夠的空間在系統(tǒng)上創(chuàng)建交換文件。
檢查Ubuntu中的文件系統(tǒng)磁盤使用情況
再 / 的分區(qū)有足夠的空間可用于創(chuàng)建swap文件。
第3步:在Ubuntu中創(chuàng)建swap文件
現在我們將使用fallocate命令在我們的Ubuntu根(/)目錄上創(chuàng)建一個名為“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中創(chuàng)建swap文件
從上面的輸出中,您可以看到我們已經創(chuàng)建了具有正確空間量(即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交換空間,并啟用交換文件以開始在系統(tǒng)上使用它。
linuxidc@linuxidc:~/www.linuxidc.com$ sudo mkswap /swap.img
正在設置交換空間版本 1,大小 = 1024 MiB (1073737728 個字節(jié))
無標簽, 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中的交換空間
從上面的輸出中可以看出,我們的新交換文件已經成功創(chuàng)建,我們的Ubuntu系統(tǒng)將在必要時開始使用它。
第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內核參數,用于指定系統(tǒng)將數據從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 – 此設置指定系統(tǒng)要在其他數據上緩存inode和dentry詳細信息的程度。
您可以通過查詢proc文件系統(tǒng)來檢查當前值。
linuxidc@linuxidc:~/www.linuxidc.com$ cat /proc/sys/vm/vfs_cache_pressure 100
檢查緩存壓力設置
當前值設置為100,這意味著我們的系統(tǒng)會過快地從緩存中刪除inode信息。 我建議,我們應該將它設置為更穩(wěn)定的設置,如50。
linuxidc@linuxidc:~/www.linuxidc.com$ sudo sysctl vm.vfs_cache_pressure=50
要使此設置永久化,您需要將以下行添加到/etc/sysctl.conf文件中。
vm.vfs_cache_pressure=50
完成后保存并關閉文件。
第7步:刪除Ubuntu中的交換文件
要刪除或刪除新創(chuàng)建的交換文件,請運行以下命令。
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交換空間具體方法
網站網址:http://m.fisionsoft.com.cn/article/djsohpi.html


咨詢
建站咨詢
