Linux交換分區內存優化

swappiness的值的大小對如何使用swap分區是有着很大的聯繫的。swappiness=0的時候表示最大限度使用物理內存,而後纔是 swap空間,swappiness=100的時候表示積極的使用swap分區,而且把內存上的數據及時的搬運到swap空間裏面。linux的基本默認設置爲60,具體以下:linux


通常默認值都是60   服務器

[root@timeserver ~]# cat /proc/sys/vm/swappiness
60app

也就是說,你的內存在使用到100-60=40%的時候,就開始出現有交換分區的使用。你們知道,內存的速度會比磁盤快不少,這樣子會加大系統io,同時造的成大量頁的換進換出,嚴重影響系統的性能,因此咱們在操做系統層面,要儘量使用內存,對該參數進行調整。性能

 

臨時調整的方法以下,咱們調成10:
[root@timeserver ~]# sysctl vm.swappiness=10
vm.swappiness = 10
[root@timeserver ~]# cat /proc/sys/vm/swappiness
10
這只是臨時調整的方法,重啓後會回到默認設置的操作系統

要想永久調整的話,須要將
須要在/etc/sysctl.conf修改,加上:
[root@timeserver ~]# cat /etc/sysctl.confserver

# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 4294967296
vm.swappiness=10內存


激活設置產品

[root@timeserver ~]# sysctl -pio

 

在linux中,能夠經過修改swappiness內核參數,下降系統對swap的使用,從而提升系統的性能。方法


遇到的問題是這樣的,新版本產品發佈後,每小時對內存的使用會有一個尖峯。雖然這個峯值還遠沒有到達服務器的物理內存,但確發現內存使用達到峯值時系統開始使用swap。在swap的過程當中系統性能會有所降低,表現爲較大的服務延遲。對這種狀況,能夠經過調節swappiness內核參數下降系統對swap的使用,從而避免沒必要要的swap對性能形成的影響。


簡單地說這個參數定義了系統對swap的使用傾向,默認值爲60,值越大表示越傾向於使用swap。能夠設爲0,這樣作並不會禁止對swap的使用,只是最大限度地下降了使用swap的可能性。


經過sysctl -q vm.swappiness能夠查看參數的當前設置。


修改參數的方法是修改/etc/sysctl.conf文件,加入vm.swappiness=xxx,並重起系統。這個操做至關因而修改虛擬系統中的/proc/sys/vm/swappiness文件,將值改成XXX數值。

若是不想重啓服務器,能夠經過sysctl -p動態加載/etc/sysctl.conf文件,但建議這樣作以前先清空swap,能夠重啓應用釋放swap空間。

相關文章
相關標籤/搜索