1. 程式人生 > >效能測試手冊:SWAP的監控

效能測試手冊:SWAP的監控

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,全部空閒。