linux 擴展swap虛擬內存

1、添加Swap分區

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

dd  if=/dev/zero  of=/var/swapfile  bs=1024  count=4194304 1

dev/zero是Linux的一種特殊字符設備(輸入設備),可以用來創建一個指定長度用於初始化的空文件,如臨時交換文件,該設備無窮盡地提供0,可以提供任何你需要的數目。 

bs=1024  :單位數據塊(block)同時讀入/輸出的塊字節大小爲1024  個字節即1KB,bs(即block size)。

count = 4194304 表示的是4G

具體計算公式爲:1KB * 4194304 =1KB *1024(k)*1024*4 = 4194304 =4G

如果小夥伴需要調整交換區的大小的話,可以自行設置其他的

執行完命令後,會進行4G讀寫操作,所以會有一些卡頓,小夥伴耐心等待

當然不一定需要4G,後面我經過測試,增加2G的虛擬內存就可以正常運行蘑菇博客了,所以我們只需要配置2G即可~!

 

2、對交換文件格式化並轉換爲swap分區

mkswap  /var/swapfile1


3、掛載並激活分區

swapon   /var/swapfile1

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

chmod -R 0600 /var/swapfile1

 

4、查看新swap分區是否正常添加並激活使用

free -h1

 

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

echo  "/var/swapfile   swap  swap  defaults  0  0" >>  /etc/fstab1

 

6、查看是否已經使用了交換內存

free

我們能夠看到,交換空間已經成功被使用 

7、停止正在使用swap分區

swapoff  /var/swapfile1

 

8、刪除swap分區文件

rm -rf   /var/swapfile1
vim    /etc/fstab#把下面內容刪除/var/swapfile   swap  swap  defaults  0  01234

 

9、更改Swap配置

一般默認的情況,當我們開啓交換虛擬內存空間後,默認好像是當內存使用百分50的時候,就會開始使用交換空間,這樣就會造成一個情況,就是本身物理內存還沒有使用完成, 卻使用虛擬內存,這樣肯定會影響我們的使用效率,那麼我們怎麼避免這個情況的發生呢?

答案就是:可以通過swappiness值進行管理,swappiness表示系統對Swap分區的依賴程度,範圍是0~100,數值越大,依賴程度越高,也就是越高越會使用Swap分區。

所以,我們現在並不希望我們的機器過度依賴Swap分區,只有當我們 負載超過某個百分比的時候,才使用交換空間,所以這也決定了,我們這個值並不是非常大,一般設置 10 ~50 左右。

當然如果小夥伴的是SSD的話,那麼這個值可以稍微大一些。

下面我們查看當前的swappiness數值:

cat /proc/sys/vm/swappiness1

修改swappiness值,這裏以10爲例:

sysctl vm.swappiness=101

設置永久有效,重啓系統後生效

echo "vm.swappiness = 10"  >>  /etc/sysctl.conf1

我們最後再次通過top命令,能夠查看到,交換空間已經被使用了,物理內存也大概佔用了百分90左右


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