Nmon服務器性能結果報告分析


  nmon是一款開源性能監控工具,用於監控linux系統的資源消耗信息,並能把結果輸出到文件中,然后通過nmon_analyser工具產生數據文件與圖形化結果。因為它免費,體積小,安裝簡單,耗費資源低,廣泛應用於AIX和Linux系統。

一、nmon下載

我們在下載前首先查看Linux系統內核版本,因為不同的Linux版本,Nmon對應的版本也不同,Linux版本必須Nmon版本一一對應

1.查看Linux內核方法一

[mrjade@localhost nmon16d]$ cat /proc/version
Linux version 5.3.0-28-generic (buildd@lcy01-amd64-009) (gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1)) #30~18.04.1-Ubuntu SMP Fri Jan 17 06:14:09 UTC 2020

內核版本5.3.0-28-generic

2.查看Linux內核方法二

[mrjade@localhost nmon16d]$ uname -a
Linux linux 5.3.0-28-generic #30~18.04.1-Ubuntu SMP Fri Jan 17 06:14:09 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

5.3.0-28-generic –內核版本

3.查看Linux內核方法三:直接問開發或者運維,簡單粗暴

4.下載地址:http://nmon.sourceforge.net/pmwiki.php?n=Site.Download

  

二、nmon命令

./nmon_x86_64_centos7 -f -s 10 -c 60 -m ./log/ 

命令的含義是:
-f :按標准格式輸出文件名稱:<hostname>_YYYYMMDD_HHMM.nmon
-t :輸出最耗資源的進程
-s :每隔n秒抽樣一次,這里為10秒
-c :取出多少個抽樣數量,這里為采集 60 次,即監控 = 10*60 = 600秒 = 10分鍾
-m : 報告輸入路徑 nmonreport:監控記錄的標題 hostname:主機名 

三、nmon性能結果報告分析

1.下載nmon analyser(用於將Nmon采集的數據轉換成可視化圖表)

https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Power+Systems/page/nmon_analyser

 

2.雙擊打開nmon analyser v61.xlsm,切記不要用WPS,因為WPS不支持宏,點擊Analyze nmon data按鈕,,選擇.nmon文件

(1)SYS_SUMM【服務器資源使用率匯總】

服務器資源使用率匯總表:整體信息頁面,顯示當前服務器的總體性能情況
  • 【正上方】Samples、First、Last:采集點樣本統計。
Samples:采集點樣本總數,折線圖中出現的采集點統計總數。
First:第一個采集點的采集時間。
Last:最后一個采集點的采集時間。
  • 【正中間】折線圖:[藍線:CPU%]為cpu占有率變化情況;[紫線:IO/sec]為磁盤IO的變化情況。
IO/sec:[紫線]僅顯示磁盤IO/sec的圖,不包括Network的I/O。每秒鍾輸出到物理磁盤的傳輸次數。
  • 【左下角】Disk tps statistics:磁盤的總體數據,包括如下幾個: 
1、Avg tps during an interval:
顯示采集間隔內磁盤平均I/O次數,該值等於Sheet DISK_SUMM中IO/sec列的平均值。
每個間隔時間內,平均每秒IO數,也可以理解為提交處理的次數。
 
2、Max tps during an interval:
顯示采集間隔內磁盤最大I/O次數,該值等於Sheet DISK_SUMM中IO/sec列的最大值。
每個間隔時間內,每秒最大IO次數。
 
3、Max tps interval time:
顯示磁盤最大I/O所在時間點。
最大傳送次數出現的時間點。
 
4、Total number of Mbytes read:
顯示采集間隔內磁盤讀的總兆字節數,可能是nmon的bug,該值並不准確,並且使用LVM划分的虛擬磁盤可能會存在重復統計。
整個監控時間內讀的字節數。
 
5、Total number of Mbytes written:
顯示采集間隔內磁盤寫的總兆字節數,該值並不准確,理由同上。
整個監控時間內寫的字節數。
 
6、Read/Write Ratio:
顯示 Total number of Mbytes read/ Total number of Mbytes written 的值。
實時讀寫比率。
  • 【右下角】CPU:CPU的總體數據,包括如下幾個: 
// ********************* 橫行:CPU各項指標 **************************** //
1、User%:顯示采集間隔內所有CPU在User Mode下的Time占比。
2、Sys%:顯示采集間隔內所有CPU在System Mode下的Time占比。
3、Wait%:顯示采集間隔內所有CPU處於空閑且等待I/O完成的時間比例。
4、Idle%:CPU空閑率,顯示采集間隔內所有CPU處於空閑Time的占比。
5、CPU%:cpu占有率,顯示采集間隔內所有CPU的(user%+system%)占比和。
 
// ****************** 縱列:CPU各項指標數據中的特殊值 ******************* //
1、Max:cpu各項指標數據中的最大值。
2、Avg:cpu各項指標數據中的整體平均值。
3、Max:Avg:cpu各項指標數據的最大值和平均值的比率。
1、Wait% 是 CPU 空閑狀態的一種,當CPU處於空閑狀態而又有進程處於 D 狀態(不可中斷睡眠)時,
系統會統計這時的時間,並計算到Wait%里。
2、Wait% 不是一個時間值,而是時間的比例,因此在同樣 I/O Wait 時間下:
服務器 CPU 越多,Wait% 越低,它體現了 I/O 操作與計算操作之間的比例。
3、對 I/O 密集型的應用來說一般 Wait% 較高,且 Sheet PROC 中 Blocked 也較高,
這時需關注是什么導致了過多的進程等待。

(2)MEM

1.內存(MB)報表:本 sheet 主圖上顯示空閑實存的數量

1、在 MEM 表里面使用如下公式計算出每行的內存使用率並進行取平均:
(Memtotal - Memfree - cached - buffers)/Memtotal  * 100 即 =(C2-G2-L2-O2)/C2*100
統計后手動繪制拆線圖,如
2、通過分析內存使用率的趨勢,可定位是否內存泄露情況。
 
3、有人看到內存使用率是 99%,就認為內存用滿了,並沒有區分內存分頁是什么類型,這樣武斷的說內存用滿了是不科學的。
 
4、在 AIX 上主要關注的是計算內存占整個物理內存的百分比,linux 上主要關注的是 active 內存占整個物理內存的百分比。

2.圖表說明:

 

(3)CPU

Cpu使用率分為三部分,系統、用戶和等待,分別對應圖中紅色、藍色和灰色部分。
cpu使用率100%的情況,如果紅色占大部分,說明系統進程本身占據大部分cpu資源,可考慮系統是否存在過多僵屍進程或者系統進程存在死循環等原因;
如果藍色占大部分,說明用戶進程占用大量cpu資源,可考慮被壓系統是否壓力過大,或者被壓系統存在大量運算等消耗cpu資源的操作。

 


免責聲明!

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



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