NMON中的各項參數指標


一、NMON中的各項參數指標:

SYS_SUMM:顯示當前服務器的總體性能情況

Total System I/OStatistics:
Avg tps during an interval:顯示采集間隔內磁盤平均I/O次數,該值等於Sheet DISK_SUMM中IO/sec列的平均值。
 Max tps during an interval:顯示采集間隔內磁盤最大I/O次數,該值等於Sheet DISK_SUMM中IO/sec列的最大值。
 Max tps interval time:顯示磁盤最大I/O所在時間點。
Total number of Mbytes read:顯示采集間隔內磁盤讀的總兆字節數,可能是nmon的bug,該值並不准確,並且使用LVM划分的虛擬磁盤可能會存在重復統計。
Total number of Mbytes written:顯示采集間隔內磁盤寫的總兆字節數,該值並不准確,理由同上。
Read/Write Ratio:顯示Total number of Mbytes read/ Total number of Mbytes written的值。 實時讀寫比率
IO/sec:僅顯示磁盤IO/sec的圖,不包括Network的I/O。   每秒鍾輸出到物理磁盤的傳輸次數

如下圖:

CPU:
Users%:顯示采集間隔內所有CPU在User Mode下的Time占比(Avg、Max)。
Sys%:顯示采集間隔內所有CPU在System Mode下的Time占比(Avg、Max)。
Wait%:顯示采集間隔內所有CPU處於空閑且等待I/O完成的時間比例(Wait%是CPU空閑狀態的一種,當CPU處於空閑狀態而又有進程處於D狀態(不可中斷睡眠)時,系統會統計這時的時間,並計算到Wait%里),Wait%不是一個時間值,而是時間的比例,因此在同樣I/O Wait時間下,服務器CPU越多,Wait%越低,它體現了I/O操作與計算操作之間的比例。對I/O密集型的應用來說一般Wait%較高,且Sheet PROC中Blocked也較高,這時需關注是什么導致了過多的進程等待。
 Idle%:顯示采集間隔內所有CPU處於空閑Time的占比(Avg、Max)。
CPU%:顯示采集間隔內所有CPU的user%+system%。
2.        AAA
顯示當前服務器基本信息,如操作系統版本,當前LPAR名,采集時間和次數等如下圖


3.        StrayLines
顯示本次nmon分析文件中未生成的采集值。
4.        BBBP
由於本Sheet內容較多,見下圖(部分截圖):

(截圖一)
如上圖,顯示當前服務器的基礎資源信息,當前服務器操作系統是cent os版本。


MemTotal:顯示當前服務器物理內存大小,本服務器有8063180 KB≈7874 MB左右。
MemFree:顯示當前服務器的空閑內存大小,本服務器有5052336 KB≈4934 MB左右。
Buffers:顯示當前服務器Buffer(在內存中要寫到磁盤上的)緩存的大小,本服務器有459108 KB≈448 MB左右,注意,這里的數值僅是采集初期的靜態值,具體Buffer的變化還需要看Sheet MEM。
 Cached:顯示當前服務器Cache緩存的大小(從磁盤讀取到內存的),本服務器有1032572 KB≈1008 MB左右。,這里的數值僅是采集初期的靜態值,具體Buffer的變化還需要看Sheet MEM。

SwapCached:顯示當前服務器Swap空間已緩存的大小,本服務器尚未使用到Swap空間。
SwapTotal:顯示當前服務器Swap空間大小,本服務器有8385532 KB≈8189 MB左右。
SwapFree:顯示當前服務器Swap空閑空間大小,本服務器Swap空間都空閑。

由於執行nmon時所屬系統組權限不同,因此BBBP里磁盤的信息可能會缺失,如截圖一是root權限執行nmon生成文件后顯示的磁盤信息,可以看到每個磁盤的大小及磁盤下的分區用途。 
5.        CPU_ALL
顯示當前服務器所有CPU在采集時間段內的利用率,按時間及User%、System%、Wait%顯示。

當前服務器共有4顆CPU(Core)8核心。
一般情況下CPU利用率里User%應占70%左右,Sys%應占30%左右,如果Sys%或Wait%占比等於或超過了User%則應該關注是什么引起了過多的系統消耗,可能是大量的Disk或Network I/O。
如下圖,這個項目隨着並發的增加,應用進程對CPU的消耗都增加在Wait%上,經排查是由於NFS讀寫遇到瓶頸導致:


6.        CPU_SUMM
顯示當前服務器所有CPU的利用率,當前服務器共有4個CPU(Core),每個CPU負載有所不同。

7.        DISK_SUMM
按采集時間顯示所有磁盤和分區的Read/Write的速率(KB/s)和所有磁盤和分區的I/O率。某一采集時間點的IO/sec等於Sheet DISKXFER中該時間點上所有磁盤和分區的IO/sec之和。因此,這一時間點上的I/O值是重復的!另外,本Sheet中的I/O不包括NFS里的I/O。





如上圖的WAvg按nmon Guide中的說法是為了去掉采集值中的零值以便貼近真實平均值,但WAvg的公式(對計算列中所有值取平方后加合,再除以列中所有值之和)卻不是單純的去掉零值,這里可以理解為WAvg比Avg更貼近資源消耗的均值,因此以后所有資源Sheet中都推薦關注WAvg。
IBM Redpaper《Linux Performance and Tuning Guidelines》中介紹Linux的I/O子系統架構如下:

nmon(包括iostat)對系統I/O的指標截取大部分來自/proc/diskstats,而這些值來自block layer層,LVM里的Logical Volume會“visible as a standard block device”,因此真實的磁盤,LVM的邏輯卷,分區等在這里都會顯示,在nmon計算總值時會被重復統計。
Disk Read/Write KB是同一采集時間點下Sheet DISKREAD、DISKWRITE里該行(所有磁盤和分區)數值之和,必然包括了重復值,例如某一時刻sda磁盤共write 1000 KB,其中sda1分區write 700 KB,sda3分區write 300 KB,這一時刻Disk Write應是1000 KB,但這里卻會重復統計分區數值,導致顯示為Disk Write 2000 KB。Disk I/O也存在同樣的問題!
還需注意一點,部分nmon生成文件里圖中標題指標為kb(小寫)/s,但實際統計的卻是KB(大寫)/s。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM