常用系統監控命令
阿新 • • 發佈:2018-12-16
常用組合方式 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(需要單獨安裝)