萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> linux監控工具的使用技巧

linux監控工具的使用技巧

    vmstat是一個查看虛擬內存(Virtual Memory)使用狀況的工具,使用vmstat命令可以得到關於進程、內存、內存分頁、堵塞IO、traps及CPU活動的信息。本文介紹了虛擬內存的運行原理,繼而介紹了vmstat的用法和使用范例。
   
    一、虛擬內存運行原理
   
    在系統中運行的每個進程都需要使用到內存,但不是每個進程都需要每時每刻使用系統分配的內存空間。當系統運行所需內存超過實際的物理內存,內核會釋放某些進程所占用但未使用的部分或所有物理內存,將這部分資料存儲在磁盤上直到進程下一次調用,並將釋放出的內存提供給有需要的進程使用。
   
    在Linux內存管理中,主要是通過“調頁Paging”和“交換Swapping”來完成上述的內存調度。調頁算法是將內存中最近不常使用的頁面換到磁盤上,把活動頁面保留在內存中供進程使用。交換技術是將整個進程,而不是部分頁面,全部交換到磁盤上。
   
    分頁(Page)寫入磁盤的過程被稱作Page-Out,分頁(Page)從磁盤重新回到內存的過程被稱作Page-In.當內核需要一個分頁時,但發現此分頁不在物理內存中(因為已經被Page-Out了),此時就發生了分頁錯誤(Page Fault)。
   
    當系統內核發現可運行內存變少時,就會通過Page-Out來釋放一部分物理內存。經管Page-Out不是經常發生,但是如果Page-out頻繁不斷的發生,直到當內核管理分頁的時間超過運行程式的時間時,系統效能會急劇下降。這時的系統已經運行非常慢或進入暫停狀態,這種狀態亦被稱作thrashing(顛簸)。
   
    二、使用vmstat
   
    1.用法
   
    vmstat [-a] [-n] [-S unit] [delay [ count]]
   
    vmstat [-s] [-n] [-S unit]
   
    vmstat [-m] [-n] [delay [ count]]
   
    vmstat [-d] [-n] [delay [ count]]
   
    vmstat [-p disk partition] [-n] [delay [ count]]
   
    vmstat [-f]
   
    vmstat [-V]
   
    -a:顯示活躍和非活躍內存
   
    -f:顯示從系統啟動至今的fork數量 .
   
    -m:顯示slabinfo
   
    -n:只在開始時顯示一次各字段名稱。
   
    -s:顯示內存相關統計信息及多種系統活動數量。
   
    delay:刷新時間間隔。如果不指定,只顯示一條結果。
   
    count:刷新次數。如果不指定刷新次數,但指定了刷新時間間隔,這時刷新次數為無窮。
   
    -d:顯示磁盤相關統計信息。
   
    -p:顯示指定磁盤分區統計信息
   
    -S:使用指定單位顯示。參數有 k 、K 、m 、M ,分別代表1000、1024、1000000、1048576字節(byte)。默認單位為K(1024 bytes)
   
    -V:顯示vmstat版本信息。
   
    2.使用說明
   
    例子1:每2秒輸出一條結果
      
    Procs(進程):
   
    r: 運行隊列中進程數量
   
    b: 等待IO的進程數量
   
    Memory(內存):
   
    swpd: 使用虛擬內存大小
   
    free: 可用內存大小
   
    buff: 用作緩沖的內存大小
   
    cache: 用作緩存的內存大小
   
    Swap:
   
    si: 每秒從交換區寫到內存的大小
   
    so: 每秒寫入交換區的內存大小
copyright © 萬盛學電腦網 all rights reserved