centos中設置swap交換空間的大小設置和swappiness的比例設置


首先使用free -m命令查看內存使用情況和swap的大小

關閉swap:

設置swap的大小:

bs指的是Block Size,就是每一塊的大小。這里的例子是1M,意思就是count的數字,是以1M為單位的。

count是告訴程序,新的swapfile要多少個block。這里是1024,就是說,新的swap文件是5G大小。

注意:可能需要點時間完成此步,耐心等待完成。

把增大后的文件變為swap文件:

重新打開swap:

 讓swap在啟動的時候,自動生效。打開/etc/fstab文件,加上以下命令。然后保存。

再次查詢swap大小:

 

設置swappiness的比例值:

       首先簡單的說一下swap分區的作用,其實linux系統下的swap分區與windows下的虛擬內存差不多一個意思,swap空間的作用可簡單這樣理解:當系統的物理內存不夠用的時候,就需要將物理內存中的一部分空間釋放出來,以供當前運行的程序使用。那些被釋放的空間可能來自一些很長時間沒有什么操作的程序,這些被釋放的空間被臨時保存到swap空間中,等到那些程序要運行時,再從swap中恢復保存的數據到 內存中。這樣,系統總是在物理內存不夠時,才進行swap交換。

 

       也就是說linux 會使用硬盤的一部分做為swap分區,用來進行進程調度--進程是正在運行的程序--把當前不用的進程調成‘等待(standby)‘,甚至‘睡眠(sleep)’,一旦要用,再調成‘活動(active)’,睡眠的進程就躺到SWAP分區睡大覺,把內存空出來讓給‘活動’的進程。
 
  如果內存夠大,那么這個時候應該讓 linux 不必太多的使用swap分區, 可以通過修改swappiness的數值。當swappiness為0的時候表示最大限度使用物理內存,然后才是 swap空間,當swappines為100的時候,則表示積極的使用swap分區,並且把內存上的數據及時的搬運到swap空間里面。

       在CentOS、Red Hat、ubuntu等系統中,swappiness的默認值都為60,如果Linux服務器的內存很小,比如說低於4G,那么可以不用更改這個值,因為畢竟考慮到內存不夠用而去借用swap的情況。而相對於很多服務器來說,目前還是建議設置在值為25以下,如果超過了8G內存,而且目前內存使用量還有剩余的話,建議直接將swappiness改成0,這樣可以最大限度的使用物理內存,減少硬盤的負載,同時加快速度。也避免在使用Memcached的時候出現"memcached timeout error because of slow response"這樣的錯誤。
      
關於swappiness操作相關的命令:
       查看swappiness當前設置的值:
      
       修改swappiness的值:
      
      使swappiness值在修改后,重啟不會失效:
       
          在最后一行加上"vm.swappiness=0"


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM