centos系統swap(虛擬內存)管理

swap是linux中的虛擬內存,用於擴充物理內存不足而用來存儲臨時數據存在的。類似於windows中的虛擬內存,在Windows中,只可以使用文件來當作虛擬內存。而linux可以文件或者分區來當作虛擬內存

1,查看內存

free -h

1.2 查看硬盤使用情況

df -h

2. 添加swap分區

使用dd命令創建名爲swapfile 的swap交換文件(文件名和目錄任意):

dd if=/dev/zero of=/home/swap bs=1024 count=2048000
或
dd  if=/dev/zero  of=/home/swap  bs=1024  count=2048k

if(即輸入文件,input file),of(即輸出文件,output file)。dev/zero是Linux的一種特殊字符設備(輸入設備),可以用來創建一個指定長度用於初始化的空文件,如臨時交換文件,該設備無窮盡地提供0,可以提供任何你需要的數目。 bs=1024  :單位數據塊(block)同時讀入/輸出的塊字節大小爲1024  個字節即1KB,bs(即block size)。count=2048000  :數據塊(block)數量爲2048000 ,即2048000個1KB。可以計算swap分區的容量爲:1KB *2097152=1KB *1024(k)*1024*2=2097152=2G。(dd命令裏的單位M表示1024*1024,k表示1024)。

        回車後,會執行2g的讀寫操作,系統會卡一段時間,耐心等待執行結果。

執行完畢,對交換文件格式化並轉換爲swap分區:

mkswap /home/swap

掛載並激活分區

swapon   /home/swap

執行以上命令可能會出現:“不安全的權限 0644,建議使用 0600”類似提示,不要緊張,實際上已經激活了,可以忽略提示,也可以聽從系統的建議修改下權限:

chmod -R 0600 /home/swap

這時候可以用 free -h 或 swapon -s命令查看新swap分區是否正常添加並激活使用。

修改 fstab 配置,設置開機自動掛載該分區:

 vim    /etc/fstab

在fstab文件末尾追加如下內容後:wq!保存即可:

/home/swap swap  swap  defaults  0  0

或直接對fstab進行echo追加:

echo  "/home/swap   swap  swap  defaults  0  0" >>  /etc/fstab

3.刪除swap分區

先停止正在使用swap分區:

swapoff  /home/swap

刪除swap分區文件

rm -rf   /home/swap

刪除或註釋掉我們之前在fstab文件裏追加的開機自動掛載配置內容:

/home/swap   swap  swap  defaults  0  0

4.更改Swap配置(進階級)
        swappiness值(0-100),系統對swap分區的依賴程度,越高則越傾向於使用swap分區。
        當然,高度依賴swap會造成物理內存遠未使用完,就使用swap分區,我們知道swap分區性能遠不如物理內存,這反而降低了系統性能,違背了我們創建swap分區的初衷。
         我們希望在物理內存即將滿荷時再使用swap,這就決定了swappiness值一般爲10-60爲宜,固態硬盤可以偏高些。

查看當前的swappiness數值:

cat   /proc/sys/vm/swappiness 

修改swappiness值,這裏以50爲例。

sysctl vm.swappiness=50 

若希望vm.swappiness=50永久生效,則需要修改sysctl配置文件,直接echo追加配置內容,重啓系統後即可生效:

echo "vm.swappiness = 50"  >>  /etc/sysctl.conf


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章