1. 程式人生 > >常用系統監控命令

常用系統監控命令

常用組合方式
vmstat、sar、iostat檢測是否是CPU瓶頸
free、vmstat檢測是否是記憶體瓶頸
iostat檢測是否是磁碟I/O瓶頸
netstat檢測是否是網路頻寬瓶頸


# 用於檢測cpu效能
vmstat 2 3  #每2秒更新資訊,統計3次
procs -----------memory----------  ---swap--  -----io---- --system--  -----cpu------
 r  b   swpd   free      buff  cache   si   so    bi    bo       in     cs     us sy  id   wa st
 0  0    0    162240   8304  67032   0    0    13    21   1007   23     0  1   98   0   0
 0  0    0    162240   8304  67032   0    0     1     0     1010   20     0  1   100 0   0
 0  0    0    162240   8304  67032   0    0     1     1     1009   18     0  1    99  0   0
Procs : 
     r列表示執行和等待cpu時間片的程序數,這個值如果長期大於系統CPU的個數,說明CPU不足,需要增加CPU
     b列表示在等待資源的程序數,比如正在等待I/O、或者記憶體交換等
Cpu : 
     us列顯示了使用者程序消耗的CPU 時間百分比。us的值比較高時,說明使用者程序消耗的cpu時間多,但是如果長期大於50%,就需要考慮優化程式或演算法
	 sy列顯示了核心程序消耗的CPU時間百分比。Sy的值較高時,說明核心消耗的CPU資源很多
     ps : us+sy的參考值為80%,如果us+sy大於 80%說明可能存在CPU資源不足


# 監控系統cpu
sar [ 選項 ] [ <時間間隔> [ <次數> ] ]
sar -u 3 5
11:41:24 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
11:41:27 AM     all      0.88      0.00      0.29      0.00      0.00     98.83
11:41:30 AM     all      0.13      0.00      0.17      0.21      0.00     99.50
11:41:33 AM     all      0.04      0.00      0.04      0.00      0.00     99.92
11:41:36 AM     all      90.08     0.00      0.13      0.16      0.00     9.63
11:41:39 AM     all      0.38      0.00      0.17      0.04      0.00     99.41
Average:        all      0.34      0.00      0.16      0.05      0.00     99.45

對上面每項的輸出解釋如下:
--%user列顯示了使用者程序消耗的CPU 時間百分比。
--%nice列顯示了執行正常程序所消耗的CPU 時間百分比。
--%system列顯示了系統程序消耗的CPU時間百分比。
--%iowait列顯示了IO等待所佔用的CPU時間百分比
--%steal列顯示了在記憶體相對緊張的環境下pagein強制對不同的頁面進行的steal操作 。
--%idle列顯示了CPU處在空閒狀態的時間百分比。

# 記憶體監控
free  -m 
          total       used       free     shared    buffers     cached
Mem:       8111       7185        926          0    243         6299
-/+ buffers/cache:     643       7468
Swap:       8189         0      8189
一般有這樣一個經驗公式:應用程式可用記憶體/系統實體記憶體>70%時,表示系統記憶體資源非常充足,不影響系統性能,應用程式可用記憶體/系統實體記憶體<20%時,表示系統記憶體資源緊缺,需要增加系統記憶體,20%<應用程式可用記憶體/系統實體記憶體<70%時,表示系統記憶體資源基本能滿足應用需求,暫時不影響系統性能

# 系統整體監控
top 或者 htop(需要單獨安裝)