效能測試手冊:SWAP的監控
阿新 • • 發佈:2018-12-14
swap是什麼
swap是磁碟上的一塊區域,可以使一個磁碟分割槽,也可以是一個檔案,也可能是一個兩種的組合。當實體記憶體資源緊張的時候,作業系統(Linux)會將一些不常訪問的資料放到swap裡。為其他常使用的程序提供更多的實體記憶體。當系統要訪問swap裡的資料的時候,作業系統再將swap上的資料載入到記憶體中。
上述的過程就是swap in和swap out。
作業系統的swap的設計確實可以提高記憶體的利用率,但是由於磁碟的IO速度和記憶體的IO速度相差很遠,因此如果出現對swap頻繁的IO,那麼系統性能就會有致命的影響。
swap的大小設定
swap的大小設定(參考redhat官方建議):
實體記憶體 | 建議的交換空間大小 | 如果開啟休眠功能建議的交換空間大小 |
---|---|---|
⩽ 2GB | 2 倍記憶體大小 | 3倍記憶體大小 |
2GB – 8GB | 和記憶體大小一致 | 2 倍記憶體大小 |
8GB – 64GB | 至少4G | 1.5倍記憶體大小 |
> 64GB | 至少4G | 不建議設定休眠 |
swap的相關工具
- 檢視swap配置
單獨執行swapon
啟動swap,通過swapoff
關閉swap,通過swapon -s檢視swap的一些資訊。其中返回值中的Size表示swap的大小,單位是k。
- 檢視使用
free -m
是檢視內的使用情況的命令,兆為單位。
total used free shared buffers cached Mem: 128 119 8 0 1 22 -/+ buffers/cache: 95 32 swap: 255 0 255
其中:
第1行Mem資料:
total 記憶體總數: 128
used 已經使用的記憶體數: 119
free 空閒的記憶體數: 8
shared 當前已經廢棄不用,總是0
buffers Buffer Cache記憶體數: 1
cached Page Cache記憶體數: 22
第2行-/+ buffers/cache:
-buffers/cache 的記憶體數:95 (等於第1行的 used - buffers - cached)
+buffers/cache 的記憶體數: 32 (等於第1行的 free + buffers + cached)
第3行就是swap,表示swap共有255,全部空閒。