nmon 在服務(wù)器的使用

apt-get install nmon

簡(jiǎn)單使用

nmon -f -s 5 -c 500  每5秒采集一次,一共采集500次
-f:按標(biāo)準(zhǔn)格式輸出文件:<hostname>_YYYYMMDD_HHMM.nmon
 -s300 -c288  300*288=86400 秒,正好是一天的數(shù)據(jù)。

此時(shí)這樣就已經(jīng)會(huì)自動(dòng)生成一個(gè).nmon文件了,這個(gè)文件可以直接放到nmon_analyse 中分析即可生成報(bào)表
mon 輸出文件的命名方式是服務(wù)器名_日期時(shí)間.nmon

通過以下命令,將.nmon文件轉(zhuǎn)化成.csv文件,在當(dāng)前目錄生成對(duì)應(yīng)的.csv文件

sort BOSS1_110810_1438.nmon>BOSS1_110810_1438.csv

最后把放到nmon_analyse 分析既可以了

nmon_analyse 數(shù)據(jù)詳情

nmon_analyse 數(shù)據(jù)詳情
性能測(cè)試中,服務(wù)器監(jiān)控,NMON監(jiān)控指標(biāo)說明

SYS_SUMM:顯示當(dāng)前服務(wù)器的總體性能情況

  • Total System I/OStatistics:
  • Avg tps during an interval:顯示采集間隔內(nèi)磁盤平均I/O次數(shù),該值等于Sheet DISK_SUMM中IO/sec列的平均值。
  • Max tps during an interval:顯示采集間隔內(nèi)磁盤最大I/O次數(shù),該值等于Sheet DISK_SUMM中IO/sec列的最大值。
  • Max tps interval time:顯示磁盤最大I/O所在時(shí)間點(diǎn)。
  • Total number of Mbytes read:顯示采集間隔內(nèi)磁盤讀的總兆字節(jié)數(shù),可能是nmon的bug,該值并不準(zhǔn)確,并且使用LVM劃分的虛擬磁盤可能會(huì)存在重復(fù)統(tǒng)計(jì)。
  • Total number of Mbytes written:顯示采集間隔內(nèi)磁盤寫的總兆字節(jié)數(shù),該值并不準(zhǔn)確,理由同上。
  • Read/Write Ratio:顯示Total number of Mbytes read/ Total number of Mbytes written的值。 實(shí)時(shí)讀寫比率
  • IO/sec:僅顯示磁盤IO/sec的圖,不包括Network的I/O。 每秒鐘輸出到物理磁盤的傳輸次數(shù)

如下圖:

Paste_Image.png

CPU:

  • Users%:顯示采集間隔內(nèi)所有CPU在User Mode下的Time占比(Avg、Max)。
  • Sys%:顯示采集間隔內(nèi)所有CPU在System Mode下的Time占比(Avg、Max)。
  • Wait%:顯示采集間隔內(nèi)所有CPU處于空閑且等待I/O完成的時(shí)間比例(Wait%是CPU空閑狀態(tài)的一種,當(dāng)CPU處于空閑狀態(tài)而又有進(jìn)程處于D狀態(tài)(不可中斷睡眠)時(shí),系統(tǒng)會(huì)統(tǒng)計(jì)這時(shí)的時(shí)間,并計(jì)算到Wait%里),Wait%不是一個(gè)時(shí)間值,而是時(shí)間的比例,因此在同樣I/O Wait時(shí)間下,服務(wù)器CPU越多,Wait%越低,它體現(xiàn)了I/O操作與計(jì)算操作之間的比例。對(duì)I/O密集型的應(yīng)用來說一般Wait%較高,且Sheet PROC中Blocked也較高,這時(shí)需關(guān)注是什么導(dǎo)致了過多的進(jìn)程等待。
  • Idle%:顯示采集間隔內(nèi)所有CPU處于空閑Time的占比(Avg、Max)。
  • CPU%:顯示采集間隔內(nèi)所有CPU的user%+system%。

AAA

顯示當(dāng)前服務(wù)器基本信息,如操作系統(tǒng)版本,當(dāng)前LPAR名,采集時(shí)間和次數(shù)等如下圖

Paste_Image.png

StrayLines

顯示本次nmon分析文件中未生成的采集值。

BBBP

由于本Sheet內(nèi)容較多,見下圖(部分截圖):

Paste_Image.png
  • MemTotal:顯示當(dāng)前服務(wù)器物理內(nèi)存大小,本服務(wù)器有8063180 KB≈7874 MB左右。
  • MemFree:顯示當(dāng)前服務(wù)器的空閑內(nèi)存大小,本服務(wù)器有5052336 KB≈4934 MB左右。
  • Buffers:顯示當(dāng)前服務(wù)器Buffer(在內(nèi)存中要寫到磁盤上的)緩存的大小,本服務(wù)器有459108 KB≈448 MB左右,注意,這里的數(shù)值僅是采集初期的靜態(tài)值,具體Buffer的變化還需要看Sheet MEM。
  • Cached:顯示當(dāng)前服務(wù)器Cache緩存的大?。◤拇疟P讀取到內(nèi)存的),本服務(wù)器有1032572 KB≈1008 MB左右。,這里的數(shù)值僅是采集初期的靜態(tài)值,具體Buffer的變化還需要看Sheet MEM。
  • SwapCached:顯示當(dāng)前服務(wù)器Swap空間已緩存的大小,本服務(wù)器尚未使用到Swap空間。
  • SwapTotal:顯示當(dāng)前服務(wù)器Swap空間大小,本服務(wù)器有8385532 KB≈8189 MB左右。
  • SwapFree:顯示當(dāng)前服務(wù)器Swap空閑空間大小,本服務(wù)器Swap空間都空閑。

由于執(zhí)行nmon時(shí)所屬系統(tǒng)組權(quán)限不同,因此BBBP里磁盤的信息可能會(huì)缺失,如截圖一是root權(quán)限執(zhí)行nmon生成文件后顯示的磁盤信息,可以看到每個(gè)磁盤的大小及磁盤下的分區(qū)用途。

CPU_ALL

顯示當(dāng)前服務(wù)器所有CPU在采集時(shí)間段內(nèi)的利用率,按時(shí)間及User%、System%、Wait%顯示。

當(dāng)前服務(wù)器共有4顆CPU(Core)8核心。
一般情況下CPU利用率里User%應(yīng)占70%左右,Sys%應(yīng)占30%左右,如果Sys%或Wait%占比等于或超過了User%則應(yīng)該關(guān)注是什么引起了過多的系統(tǒng)消耗,可能是大量的Disk或Network I/O。
如下圖,這個(gè)項(xiàng)目隨著并發(fā)的增加,應(yīng)用進(jìn)程對(duì)CPU的消耗都增加在Wait%上,經(jīng)排查是由于NFS讀寫遇到瓶頸導(dǎo)致:

CPU_SUMM

顯示當(dāng)前服務(wù)器所有CPU的利用率,當(dāng)前服務(wù)器共有4個(gè)CPU(Core),每個(gè)CPU負(fù)載有所不同。

DISK_SUMM

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

Paste_Image.png
  • 如上圖的WAvg按nmon Guide中的說法是為了去掉采集值中的零值以便貼近真實(shí)平均值,但WAvg的公式(對(duì)計(jì)算列中所有值取平方后加合,再除以列中所有值之和)卻不是單純的去掉零值,這里可以理解為WAvg比Avg更貼近資源消耗的均值,因此以后所有資源Sheet中都推薦關(guān)注WAvg。

IBM Redpaper《Linux Performance and Tuning Guidelines》中介紹Linux的I/O子系統(tǒng)架構(gòu)如下:

  • nmon(包括iostat)對(duì)系統(tǒng)I/O的指標(biāo)截取大部分來自/proc/diskstats,而這些值來自block layer層,LVM里的Logical Volume會(huì)“visible as a standard block device”,因此真實(shí)的磁盤,LVM的邏輯卷,分區(qū)等在這里都會(huì)顯示,在nmon計(jì)算總值時(shí)會(huì)被重復(fù)統(tǒng)計(jì)。
  • Disk Read/Write KB是同一采集時(shí)間點(diǎn)下Sheet DISKREAD、DISKWRITE里該行(所有磁盤和分區(qū))數(shù)值之和,必然包括了重復(fù)值,例如某一時(shí)刻sda磁盤共write 1000 KB,其中sda1分區(qū)write 700 KB,sda3分區(qū)write 300 KB,這一時(shí)刻Disk Write應(yīng)是1000 KB,但這里卻會(huì)重復(fù)統(tǒng)計(jì)分區(qū)數(shù)值,導(dǎo)致顯示為Disk Write 2000 KB。Disk I/O也存在同樣的問題!
  • 還需注意一點(diǎn),部分nmon生成文件里圖中標(biāo)題指標(biāo)為kb(小寫)/s,但實(shí)際統(tǒng)計(jì)的卻是KB(大寫)/s。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容