Linux系统swappiness参数在内存与交换分区之间优化作用
http://blog.sina.com.cn/s/blog_13cc013b50102wskd.html
?
swappiness的值的大小對如何使用swap分區是有著很大的聯系的。swappiness=0的時候表示最大限度使用物理內存,然后才是 swap空間,swappiness=100的時候表示積極的使用swap分區,并且把內存上的數據及時的搬運到swap空間里面。linux的基本默認設置為60,具體如下:
?
一般默認值都是60 ??
[root@timeserver ~]# cat /proc/sys/vm/swappiness
60
也就是說,你的內存在使用到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.conf
# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 4294967296
vm.swappiness=10
?
激活設置
[root@timeserver ~]# sysctl -p
?
在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。
轉載于:https://www.cnblogs.com/dongruiha/p/8425618.html
總結
以上是生活随笔為你收集整理的Linux系统swappiness参数在内存与交换分区之间优化作用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2.7随笔
- 下一篇: C#:导入Excel通用类(CSV格式)