4.0 cpu效能監控
cpu效能表現如何一般從三個方面來衡量:執行佇列、利用率和上下文切換。正如前文所提及的,效能表現的好壞和基線資料(或預期)是密不可分的。對大部分系統而言,一些基本的效能預期如下:
上下文切換——上下文切換的次數和cpu利用率相關。假設cpu利用率達到了上述的佔比劃分,大量的上下文切換也是可以接受的。
linux系統有很多任務具可以用來統計這些指標。我們將首先來看vmstat和top。
4.1 vmstat工具的使用
vmstat帶來的額外效能開銷很小,因此,在乙個高負載系統上一直執行該工具是可行的,即使你並不想長久地統計它的效能資料。該工具有兩種執行模 式:統計模式和取樣模式。取樣模式每隔乙個指定的時間間隔會統計和輸出乙個結果。這種模式在統計乙個持久負載下的效能資料時非常有用。下面是乙個 vmstat在指定時間間隔為1秒時的輸出示例:
列名
含義
r執行佇列的長度,即等待執行的執行緒數目
b處於阻塞狀態或者等待io完成狀態的執行緒數目
in系統中斷的數目
cs上下文切換的數目
uscpu執行使用者態執行緒的時間佔比
syscpu執行系統態執行緒占用的時間佔比,包含核心和中斷兩部分
wacpu處於等待狀態的時間佔比(cpu等待狀態即所有執行緒都處於被阻塞或者等待io完成狀態)
idcpu處於完全空閒狀態的時間佔比
4.2 案例分析:cpu的持續耗用
在下面的案例中,系統cpu已經被完全用盡。
從上面輸出,我們可以得出以下推論:
4.3 案例分析:排程器重載
在下面的案例中,核心排程器一直忙於上下文切換。
從上面的輸出,我們可以得出以下推論:
4.4 mpstat工具的使用
如果系統有多個處理器核心,你可以使用mpstat命令來監控各個核。linux核心把雙核處理器看作為兩個處理器。因此,乙個雙核雙處理器系統會 被認為有4個處理器。mpstat提供了vmstat類似的cpu統計功能,不過mpstat還按cpu核的粒度提供了統計資料。
4.5 案例分析:未充分使用的處理器負載
在下面的案例中,系統有4個cpu核心,有兩個cpu耗用型的程序將其中兩個核(cpu0和cpu1)充分利用,第三個核正在執行核心和系統呼叫(cpu3),第四個核(cpu2)處於空閒狀態。
top命令顯示了有3個程序(nobody、mysql、apache)幾乎各自占用了其中的一整個cpu核心:
你可以通過ps命令的psr欄位判斷哪乙個程序占用了哪乙個cpu核心。
4.6 結論
cpu的效能監控包含如下要點:
在linux系統監控和效能調優
在linux中顯示所有正在執行的程序 linux系統管理員應該知道的20個系統監控工具 原創翻譯 chapter 1,understanding the linux operating system chapter 2.monitoring and benchmark tools chapter 3...
linux效能監控
某個線上系統平時非常穩定,當大量更新資料時,系統的服務就會嚴重超時。問題存在了一段時間,基本猜測系統超時和大量寫入資料有關,但卻無法給出確切的解釋。最近花了幾天時間,深入研究這個問題。首先是需要給出問題原因的確切解釋。因此,需要監控服務不正常期間linux系統的各種效能。top 檢視程序活動狀態以及...
Linux效能監控工具
top 顯示所有程序情況,vmstat 顯示系統活動,硬體和系統資訊,uptime,w 顯示系統的平均負載,ps,pstree 顯示程序,free 如果不帶任何引數輸入,預設是以kb為單位輸出 記憶體使用情況,iostat 顯示cpu負載和磁碟活動資訊,sar 收集和報告系統的狀態,mpstat 在...