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

步驟1:檢查swap交換空間信息
在開始之前,首先運行以下命令,確保檢查系統(tǒng)是否已經(jīng)有可用的交換空間。
linuxidc@linuxidc:~/www.linuxidc.com$ sudo swapon --show
[sudo] linuxidc 的密碼:
NAME TYPE SIZE USED PRIO
/swapfile file 2G 0B -2
檢查Ubuntu中的交換空間
如果您沒有看到任何輸出,則表示您的系統(tǒng)當(dāng)前沒有可用的交換空間。
您還可以使用free命令確認(rèn)沒有可用的交換空間。
linuxidc@linuxidc:~/www.linuxidc.com$ free -h
總計 已用 空閑 共享 緩沖/緩存 可用
內(nèi)存: 3.8G 1.5G 569M 32M 1.8G 2.1G
交換: 2.0G 0B 2.0G
Ubuntu中的交換空間為2G
您可以從上面的輸出中看到,系統(tǒng)上沒有活動交換。
第2步:檢查分區(qū)上的可用空間
要創(chuàng)建交換空間,首先需要檢查當(dāng)前的磁盤使用情況,并確認(rèn)有足夠的空間在系統(tǒng)上創(chuàng)建交換文件。
檢查Ubuntu中的文件系統(tǒng)磁盤使用情況
再 / 的分區(qū)有足夠的空間可用于創(chuàng)建swap文件。
第3步:在Ubuntu中創(chuàng)建swap文件
現(xiàn)在我們將使用fallocate命令在我們的Ubuntu根(/)目錄上創(chuàng)建一個名為“swap.img”的交換文件(大小為1GB),您可以根據(jù)需要調(diào)整大小。并使用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文件
從上面的輸出中,您可以看到我們已經(jīng)創(chuàng)建了具有正確空間量(即1GB)的交換文件。
第4步:在Ubuntu中啟用swap文件
要在Ubuntu中啟用swap文件,首先需要在文件上設(shè)置正確的權(quán)限,以便只有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權(quán)限
從上面的輸出中,您可以看到只有root用戶具有讀寫權(quán)限。
現(xiàn)在運行以下命令將文件標(biāo)記為swap交換空間,并啟用交換文件以開始在系統(tǒng)上使用它。
linuxidc@linuxidc:~/www.linuxidc.com$ sudo mkswap /swap.img
正在設(shè)置交換空間版本 1,大小 = 1024 MiB (1073737728 個字節(jié))
無標(biāo)簽, 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
總計 已用 空閑 共享 緩沖/緩存 可用
內(nèi)存: 3.8G 1.5G 549M 32M 1.8G 2.0G
交換: 3.0G 0B 3.0G
驗證Ubuntu中的交換空間
從上面的輸出中可以看出,我們的新交換文件已經(jīng)成功創(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步:調(diào)整Ubuntu中的交換設(shè)置
您需要配置一些設(shè)置,這些設(shè)置會影響您在使用交換時的Ubuntu性能。
調(diào)整Swappiness值
Swappiness是一個Linux內(nèi)核參數(shù),用于指定系統(tǒng)將數(shù)據(jù)從RAM交換到交換空間的頻率(以及頻率)。 此參數(shù)的默認(rèn)值為“60”,它可以使用“0”到“100”之間的任何值。 值越高,內(nèi)核使用的交換空間越高。
首先,鍵入以下命令檢查當(dāng)前的swappiness值。
linuxidc@linuxidc:~/www.linuxidc.com$ cat /proc/sys/vm/swappiness
60
檢查Swappiness值
當(dāng)前的swappiness值為60非常適合桌面使用,但對于服務(wù)器,您必須將其設(shè)置為較低的值,即10。
linuxidc@linuxidc:~/www.linuxidc.com$ sudo sysctl vm.swappiness=10
要使此設(shè)置永久化,您需要將以下行添加到/etc/sysctl.conf文件中。
vm.swappiness=10
調(diào)整緩存壓力設(shè)置
您可能想要更改的另一個類似設(shè)置是vfs_cache_pressure – 此設(shè)置指定系統(tǒng)要在其他數(shù)據(jù)上緩存inode和dentry詳細(xì)信息的程度。
您可以通過查詢proc文件系統(tǒng)來檢查當(dāng)前值。
linuxidc@linuxidc:~/www.linuxidc.com$ cat /proc/sys/vm/vfs_cache_pressure 100
檢查緩存壓力設(shè)置
當(dāng)前值設(shè)置為100,這意味著我們的系統(tǒng)會過快地從緩存中刪除inode信息。 我建議,我們應(yīng)該將它設(shè)置為更穩(wěn)定的設(shè)置,如50。
linuxidc@linuxidc:~/www.linuxidc.com$ sudo sysctl vm.vfs_cache_pressure=50
要使此設(shè)置永久化,您需要將以下行添加到/etc/sysctl.conf文件中。
vm.vfs_cache_pressure=50
完成后保存并關(guān)閉文件。
第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://www.dlmjj.cn/article/djsohpi.html


咨詢
建站咨詢
