是否調整swap大小依據

現象:
信息中心機房一臺Linux服務器運行緩慢,系統服務出現間歇性中止響應,發現此服務器的物理內存是16G,而最初裝機的時候,系統管理人員卻只分配了2G的虛擬內存。查看內存的使用情況,物理內存並無徹底耗盡,但虛擬內存已經耗盡,整個系統CPU負載和磁盤IO都很是高。

問題:
是因爲交換分區不足致使,那麼解決方法就是:將虛擬內存經過虛擬文件的方式增長到8G,系統運行情況明顯好轉。其實虛擬內存並非等到物理內存用盡了才使用的,是否儘可能的使用或不使用swap,在內核空間有一個參數控制。

[root@server ~]# cat /proc/sys/vm/swappiness
  60
swappiness=0 的時候表示最大限度使用物理內存,而後纔是swap空間;swappiness=100 的時候表示積極的使用swap分區,
而且把內存上的數據及時的搬運到swap空間裏面。

Linux系統設置多大的交換分區合適呢?爲此,引用紅帽官方文庫裏的一段文字進行淺析說明。

目前Red Hat(紅帽官方)推薦交換分區的大小應當與系統物理內存的大小保持線性比例關係。
不過在小於2GB物理內存的系統中,交換分區大小應該設置爲內存大小的兩倍,若是內存大小多於2GB,交換分區大小應該是物理內存大小加上2GB。
其緣由在於,系統中的物理內存越大, 對於內存的負荷可能也越大。

通常來講能夠按照以下規則設置swap大小:

4G之內的物理內存,SWAP 設置爲內存的2倍。

4-8G的物理內存,SWAP 等於內存大小。

8-64G 的物理內存,SWAP 設置爲8G。

64-256G物理內存,SWAP 設置爲16G。

物理內存      交換分區

小於等於4G    至少2G

4~16G        至少4G

16~64G        至少8G

64~256G        至少16G服務器

相關文章
相關標籤/搜索