監控--cpu篇

cpu

每一秒採集一次數據:

wKiom1NGYQLDBPWPAADlqtAh9bQ457.jpg

r : 當前運行隊列中線程的數目.代表線程處於可運行狀態,CPU 還未能執行.(值越大系統越忙)

b : 當前進程阻塞並等待IO 請求完成的數目(值越大系統越忙)

swpd 虛擬內存已使用的大小(大於0表示內存不足)

in : 當前中斷被處理的數目(值越大系統越忙)

cs : 當前kernel system,發生上下文切換的數目(值越大系統越忙)

free : 空閒的物理內存的大小

buff : buffer緩存大小(buffer是針對數據元文件的緩存,是對數據塊處理)

cache : cache緩存大小cacha是對數據文件緩存,是文件系統層的)

si :  每秒從磁盤讀入虛擬內存的大小,如果這個值大於0,表示物理內存不夠用或者內存泄露了,通過ps查找最大進程使用的程序

so : 每秒虛擬內存寫入磁盤的大小

bi:從塊設備讀入的數據總量(讀磁盤)(KB/S

bo:寫入到塊設備的數據總量(寫磁盤)(KB/S

磁盤讀寫的時候,這2個值越大(如超出1M),能看到CPUIO等待的值也會越大

in : 系統每秒CPU的中斷次數,包括時間中斷

cs : 每秒上下文切換次數,可以作爲web測壓的選項,如果該值過大,表示CPU大部分浪費在上下文切換,沒有充分利用cpu資源

us : 用戶進程消耗的CPU 時間

sy : 內核進程消耗的CPU時間Sy的值較高時,說明內核消耗的CPU資源很多

wa : IO等待CPU處理的時間。wa的值高時,說明IO等待比較嚴重,此時磁盤可能有大量的操作

id : CPU處於空閒狀態時間百分比


實例一

wKiom1NGYSWAz8cMAAHS8qTBBx8106.jpg

根據觀察值,我們可以得到以下結論:

1.有大量的中斷(in) 和較少的上下文切換(cs).這意味着一個單一的進程在產生對設備的大量請求.

2.進一步顯示某單個應用,user time(us)經常在85%或者更多.考慮到較少的上下文切換,這個應用應該還在處理器中被處理.

3.運行隊列還在可接受的性能範圍內,其中有2個地方,是超出了允許限制.

案例二

wKioL1NGYRfzhEVBAAHJIDMUHcQ734.jpg

根據觀察值,我們可以得到以下結論:

1.上下文切換數目高於中斷數目,說明kernel中相當數量的時間都開銷在上下文切換線程.

2.大量的上下文切換將導致CPU 利用率分類不均衡.很明顯實際上等待io 請求的百分比(wa)非常高,以及user time百分比非常低(us).

3.因爲CPU 都阻塞在IO請求上,所以運行隊列裏也有相當數目的可運行狀態線程在等待執行.


mpstat 工具的使用

參考:http://www.linuxeden.com/html/softuse/20131229/147003.html

# mpstat -P ALL 1

Linux 3.2.0-4-amd64 (vmware1) 04/10/2014 _x86_64_(2 CPU)

04:15:33 AMCPU%usr%nice%sys %iowait%irq%soft%steal%guest%idle

04:15:34 AMall0.000.000.000.000.000.000.000.00100.00

04:15:34 AM00.000.000.000.000.000.000.000.00100.00

04:15:34 AM10.000.000.000.000.000.000.000.00100.00

%user用戶進程所使用 CPU 的百分比。用戶進程是用於應用程序(如 Oracle 數據庫)的非內核進程。

%nice     表示使用 nice 命令對進程進行降級時 CPU 的百分比。nice 命令更改進程的優先級。

%system   表示內核進程使用的 CPU 百分比

%iowait   表示等待 I/O 所使用的 CPU 時間百分比

%irq      表示用於處理系統中斷的 CPU 百分比

%soft     表示用於軟件中斷的 CPU 百分比

%steal : 顯示虛擬機管理器在服務另一個虛擬處理器時虛擬CPU處在非自願等待下花費時間的百分比(注意:虛擬機纔有的選項)

%guest : 顯示運行虛擬處理器時CPU花費時間的百分比(注意:虛擬機纔有的選項)

%idle     CPU 的空閒時間

%intr/s   每秒 CPU 接收的中斷總數


cpu篇總結

監控 CPU 性能由以下幾個部分組成:

1.檢查system的運行隊列,以及確定不要超出每個處理器3個可運行狀態線程的限制.

2.確定CPU 利用率中user/system比例維持在70/30

3.CPU 開銷更多的時間在system mode,那就說明已經超負荷並且應該嘗試重新調度優先級

4.I/O 處理得到增長,CPU 範疇的應用處理將受到影響


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章