在Load average 高的狀況下如何鑑別系統瓶頸

在Load average 高的狀況下如何鑑別系統瓶頸。是CPU不足,仍是io不夠快形成? 或是內存不足? ios

一:查看系統負載vmstat 

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 496056 889316 4065748    0    0     9    41   55   51  0  0 99  1  0優化

1 : procs 

procs 進程

 r  b內存

 0  0資源

r :運行和等待cpu時間片的進程數,若是長期大於1,說明cpu不足,須要增長cpu。 io

b :在等待資源的進程數,好比正在等待I/O、或者內存交換等。 效率

2 : memory 

-----------memory----------程序

swpd   free   buff  cache  

 0    496056 889316 4065748

swpd :切換到內存交換區的內存數量(k表示)。 

       若是swpd的值不爲0,或者比較大,好比超過了100m,只要si、so的值長期爲0,系統性能仍是正常 

free :當前的空閒頁面列表中內存數量(k表示) 

buff :做爲buffer cache的內存數量,通常對塊設備的讀寫才須要緩衝。 

cache :做爲page cache的內存數量,通常做爲文件系統的cache, 

        若是cache較大,說明用到cache的文件較多,若是此時IO中bi比較小,說明文件系統效率比較好。 

3 : swap 

---swap--

 si   so

 0    0 

si :由內存進入內存交換區數量。 

so :由內存交換區進入內存數量。 

4 : IO 

-----io----

 bi    bo 

 9    41

bi :從塊設備讀入數據的總量(讀磁盤)(每秒kb)。 

bo :塊設備寫入數據的總量(寫磁盤)(每秒kb) 

這裏咱們設置的bi+bo參考值爲1000,若是超過1000,並且wa值較大應該考慮均衡磁盤負載,能夠結合iostat輸出來分析。 

5 : system 顯示採集間隔內發生的中斷數 

--system--

 in   cs

 55   51

in  :在某一時間間隔中觀測到的每秒設備中斷數。 

cs :每秒產生的上下文切換次數,如當 cs 比磁盤 I/O 和網絡信息包速率高得多,都應進行進一步調查。 

6 : cpu 表示cpu的使用狀態 

 -----cpu------

cs us sy id wa st

51 0  0  99 1  0

us :用戶方式下所花費 CPU 時間的百分比。us的值比較高時,說明用戶進程消耗的cpu時間多,可是若是長期大於50%,須要考慮優化用戶的程序。 

sy :內核進程所花費的cpu時間的百分比。這裏us + sy的參考值爲80%,若是us+sy 大於 80%說明可能存在CPU不足。 

wa  :IO等待所佔用的CPU時間的百分比。這裏wa的參考值爲30%,若是wa超過30%,說明IO等待嚴重, 

      這多是磁盤大量隨機訪問形成的,也可能磁盤或者磁盤訪問控制器的帶寬瓶頸形成的(主要是塊操做)。 

id :cpu處在空閒狀態的時間百分比

相關文章
相關標籤/搜索