創建swap的方式方法與swap的優缺點說明

創建swap的方式方法與swap的優缺點說明


背景

發現阿里雲的機器默認關閉了swap

但是自己的內存設置又比較誇張. 
32G內存設置了20G的堆區.
但是實際上內存使用了 27.5G
然後可用內存只剩下 300M 外加 2G的 buffer 跟CPU的cache
但是產品會宕機
準備創建上一塊swap..

創建過程

dd if=/dev/zero of=/swapfile bs=1M count=12K
chmod 0600 /swapfile
mkswap /swapfile
swapon /swapfile

注意 我這邊不準備設置到 fstab 裏面去 
如果必須適
/swapfile swap swap defaults 0 0

測試驗證

創建之前:
 free -g
               total        used        free      shared  buff/cache   available
Mem:              45          17           2           0          26          27
Swap:              0           0           0

創建文件, 注意建議改改文件屬主

創建之後
free -g
               total        used        free      shared  buff/cache   available
Mem:              45          17           0           0          28          27
Swap:             11           0          11

關於swap的取捨

內存越來越便宜, CPU的算力很難提升.
爲了產品的快速發展, 還是應該增加內存.
不管是應用還是數據庫
如果大量的想要讀取或者是寫入的內容能夠在內存中安家
那麼系統的速度會非常快速. 

如果需要swap in 和swap off
必須進行一次強行的上下文切換, 到內核態
將文件從磁盤讀出或者是寫入. 
一方面有切換的損失, 另一方面也有服務等待IO的過程
會導致產品性能指數級下降. 
內存的時延基本上 60ns級別. 磁盤是 6ms 的級別
差了十萬倍. 會導致系統嚴重出問題. 

保留swap 可以保證產品穩定, 減少倍OOM killer 的概率
但是會對性能有極壞的負面影響. 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章