1. 程式人生 > >為Linux主機新增swap分割槽

為Linux主機新增swap分割槽

為Linux主機增加swap分割槽

Digital Ocean根底配置(512MB記憶體,20G氣態硬碟,每月1TB流量)才5刀/月的價錢讓人想對抗都難。但是512MB的記憶體用起來仍是有點煩亂的,今日用free -h檢視記憶體使用情況時,發現竟然沒有swap分割槽。不曉得DigitalOcean是甚麼企圖(–__–)。

 

 

 

SWAP分割槽

當系統的實體記憶體不夠用的時候,就需要將實體記憶體中的一有些當空釋放出來,以供當前執行的程式使用。那些被釋放的當空可能來自一些很長時間沒有甚麼操作的程式,這些被釋放的當空被臨時save到Swap當空中,等到那些程式要執行時,再從Swap中回覆save的資料到記憶體中。系統老是在實體記憶體不夠時,才進行Swap對換。根底配置的雲主機啟用Swap當空能有效進步主機的效能。

swap分割槽鉅細

實戰上,咱們更關注的應當是SWAP分割槽的鉅細問題。 設定多大才是最優的。

普通來講可以根據如次規則設定swap鉅細:

4G裡邊的實體記憶體,SWAP 設定為記憶體的2倍。 4-8G的實體記憶體,SWAP 即是記憶體鉅細。 8-64G 的實體記憶體,SWAP 設定為8G。 64-256G實體記憶體,SWAP 設定為16G。

實戰上,系統中對換分割槽的鉅細並不取決於實體記憶體的量,而是取決於系統中記憶體的負荷,因而在部署系統時要依據詳細的事情來設定SWAP的值。這裡咱們設定swap分割槽鉅細為1GB。

啟用swap分割槽

檢查能否曾經適用了Swap當空

open終端,輸入

swapon -s

如果沒有任何的資訊返回,那就是還沒有

啟用Swap當空

檢查檔案系統

曉得咱們還沒有啟動Swap當空後,咱們再檢查一下咱們的硬碟還剩下好多當空可以使用,使用dfcommand檢視。在本例中,咱們將建立一個1GB鉅細的Swap當空檔案。

建立並使用Swap當空檔案

      建立swap檔案

 

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

 

      格式化swap分割槽

 

mkswap /swapfile
      啟用swap分割槽

 

swapon /swapfile
      查詢swap分割槽

 

swapon -s

但以上的設定是一次性的,reboot後將失效。想要確保系統永遠的啟用Swap對換當空,可以通過修改fstab檔案。

vim /etc/fstab
在最後一行增加上上面一條:
/swapfile     swap     swap     defaults     0  0

增加成功後給swap付與相關許可權:

chown root:root /swapfile
chmod 0600 /swapfile

 

配置swappiness

實戰上,並不是等一切的實體記憶體都消費終了以後,才去使用swap的當空,甚麼時候使用是由swappiness 引數值控制。

`cat /proc/sys/vm/swappiness`

原始值是60.

swappiness=0 的時候表現最大限度使用實體記憶體,然後才是 swap當空,

swappiness=100 的時候表現主動的使用swap分割槽,而且把記憶體上的資料及時的搬運到swap當空內裡。

臨時性修正

sysctl vm.swappiness=10
cat /proc/sys/vm/swappiness

這裡咱們的修正曾經見效,只是如果咱們reboot了系統,又會變成60.

永遠修正

/etc/sysctl.conf檔案裡增加如次引數:

vm.swappiness=10

save,reboot。

希望以上的文章對各位有用,如果覺得不錯給我頂一下吧!更多和為Linux主機新增swap分割槽相關的問題或者對虛擬美國主機有疑惑也歡迎大家諮詢。