vmstat:這個命令可以查看CPU使用率,I/O,內存,虛擬內存,等等。
格式:vmstart 1 10(每秒取一次,取10次)
參數:
-a 顯示活躍和非活躍的內存
-f 顯示系統開機到現在的fork數量
-m:顯示slabinfo信息(貌似是緩存分配的信息)
-s:顯示系統內存的統計信息
-d:顯示磁盤統計信息
-p:顯示制定某磁盤的統計信息
-S:顯示單位,k,K,m,M,換算的話小寫按1000算,大寫按1024算
-V:顯示版本
可以看到上面都是分割開了,procs,memory,swap,io,system,cpu,各個參數的意義:
r:等待運行的進程數
b:等待IO進程數
swpd:虛擬內存使用情況,單位KB
free:空閒的物理內存,單位KB
buff:被用來最爲緩衝區的內存大小,單位KB,主要緩存一些,目錄和目錄中的內容,文件的一些屬性,例如權限。
cache:被用來作爲緩存的內存大小,單位KB,主要緩存我們打開過的文件或程序,如果cache比較大,而我們訪問的文件都能被cache住,則bi應該比較小。
si:每秒從交換分區寫入到內存的大小,有磁盤到內存
so:每秒寫入交換分區的大小,由內存到磁盤
如果si,so長期大於0,系統的性能會受到影響,如果free較少,但此兩個值還是0,則性能上影響不大。
bi:每秒讀取的塊數
bo:每秒寫入的塊數
in:每秒中斷數,包括時鐘中斷
cs:每秒上下文切換數
In和Cs值過大,sy值會逐漸增大
us:用戶進程執行時間百分比
sy:系統進程執行時間百分比
us值較大,超過50%以上,我們一定要查清原因,考慮下優化的問題,sy長期很高,一定要查明原因,因爲這是不太正常的表現
wa:io等待時間百分比
wa值較大,一般可能有大流量數據寫入磁盤或隨機I/O過多,如長時間比較大,可能出現了瓶頸。塊操作
id:CPU空閒時間百分比
當r參數中的等待進程過多,id小於40,證明cpu負載很重。
在說個-a參數吧:
active:活躍內存大小