Linux性能监测工具Nmon介绍及其使用
1?NMON介紹
? ? ? ??Nmon由 IBM 開發(fā)并已開源 (Nmon for linux 版本已經(jīng)在 2009 年 7 月 27 日開放源碼 ) ,是收集 AIX 或 Linux 主機的性能數(shù)據(jù)并分析的工具,使用簡單易用。主要有兩個,一個是 nmon 采集數(shù)據(jù)的工具,一般名稱為 nmon_** ,例如 ?nmon_aix5.3 ,另一個是分析結(jié)果的工具,它是一個 excel 的文件,一般名稱為 nmon analyser v***.xls ,例如 nmon analyser v33g.xls 。Nmon在一個屏幕上顯示所有重要的性能優(yōu)化信息,并動態(tài)地對其進行更新。還可以將相同的數(shù)據(jù)捕獲到一個文本文件,便于以后對報告進行分析和繪制圖形。
nmon_analyser?工具以?NMON?性能工具生成的文件作為輸入,然后將它們轉(zhuǎn)換為?Microsoft Excel?電子表格,并自動地生成相應(yīng)的圖形。
Nmon運行不會占用過多的系統(tǒng)資源,通常情況下CPU利用率不會超過2%。
針對不同的操作系統(tǒng)版本,Nmon有相應(yīng)版本的程序,需要注意的是該文件需要執(zhí)行授權(quán)操作方可正常運行。Nmon最方便之處就是能迅速抽取不同維度的性能概覽數(shù)據(jù)。
Nmon是Linux的性能檢測工具。該工具能給管理員提供大量重要的檢測信息。能夠通過該工具顯示CPU、內(nèi)存、網(wǎng)絡(luò)、磁盤、文件系統(tǒng)、NFS、進程、資源和功率信息。Nmon?工具可以為?AIX和?Linux?性能專家提供監(jiān)視和分析性能數(shù)據(jù)的功能,其中包括:
- ? ?CPU?使用率
- ? ?內(nèi)存使用情況
- ? ?內(nèi)核統(tǒng)計信息和運行隊列信息
- ? ?磁盤?I/O?速度、傳輸和讀/寫比率
- ? ?文件系統(tǒng)中的可用空間
- ? ?磁盤適配器
- ? ?網(wǎng)絡(luò)?I/O?速度、傳輸和讀/寫比率
- ? ?頁面空間和頁面速度
- ? ?CPU?和?AIX?規(guī)范
- ? ?消耗資源最多的進程
- ? ?IBM HTTP Web?緩存
- ? ?用戶自定義的磁盤組
- ? ?計算機詳細信息和資源
- ? ?異步?I/O,僅適用于?AIX
- ? ?工作負載管理器?(WLM),僅適用于?AIX
- ? ?IBM TotalStorage? Enterprise Storage Server? (ESS)?磁盤,僅適用于?AIX
- ? ?網(wǎng)絡(luò)文件系統(tǒng)?(NFS)
- ? ?動態(tài)?LPAR (DLPAR)?更改,僅適用于面向?AIX?或?Linux?的?pSeries p5?和?OpenPower
2?Nmon 安裝與使用
2.1?安裝
該工具是一個獨立的二進制文件(不同的?AIX?或?Linux?版本中該文件也有所不同)。安裝過程非常簡單:
1.?將?nmon_x86_64_sles11文件復(fù)制到計算機。
2.?修改nmon_x86_sles11的文件權(quán)限,chmod 777 ?nmon_x86_64_sles11
3.?要啟動?nmon?工具,輸入?./ nmon_x86_sles10。
2.2?運行
Nmon可以交互式運行
1.?????啟動該工具?./ nmon_x86_sles10
2.?????使用單鍵命令來查看您所需要的數(shù)據(jù)。例如,要獲取?CPU、內(nèi)存和磁盤統(tǒng)計信息,啟動?Nmon?并輸入:?c m d
3.?????獲取相關(guān)的幫助信息,按?h?鍵。
使用下面這些鍵來切換顯示狀態(tài):
c = CPU ???顯示CPU相關(guān)性能信息數(shù)據(jù)
l = CPU Long-term? ?顯示最近一段時間的CPU相關(guān)性能信息數(shù)據(jù)
- = Faster screen updates????加快屏幕更新速度
m = Memory ????顯示內(nèi)存相關(guān)性能信息數(shù)據(jù)
j = Filesystems ???顯示日志文件系統(tǒng)相關(guān)性能信息數(shù)據(jù)
+ = Slower screen updates????減慢屏幕更新速度
d = Disks ??顯示磁盤I/O相關(guān)性能信息數(shù)據(jù)
n = Network ??顯示網(wǎng)絡(luò)I/O相關(guān)性能信息數(shù)據(jù)
V = Virtual Memory???顯示虛擬內(nèi)存相關(guān)性能信息數(shù)據(jù)
r = Resource ??顯示系統(tǒng)資源相關(guān)性能信息數(shù)據(jù)
N = NFS ???顯示NFS文件系統(tǒng)相關(guān)性能信息數(shù)據(jù)
v = Verbose hints????簡單報告CPU、使用最頻繁的磁盤的使用率(性能壓力)是否過高,給出的結(jié)果為OK/Warnings/Danger。對于CPU來說,使用率(busy程度)低于80%即為OK,高于80%即為Warnings,高于90%即為Danger;對于磁盤來說,使用率(busy程度)低于40%即為OK,高于40%即為Warnings,高于60%即為Danger;
k = kernel ???顯示操作系統(tǒng)內(nèi)核運行狀態(tài)相關(guān)性能信息數(shù)據(jù)
t = Top-processes ??顯示占用系統(tǒng)資源最多的進程的狀態(tài)信息
. = only busy disks/procs?????僅顯示處于busy狀態(tài)的磁盤IO/進程的性能信息數(shù)據(jù)
h = more options ???打印幫助信息
q = Quit?????退出Nmon
2.3?捕獲數(shù)據(jù)到文件
捕獲數(shù)據(jù)到文件,只要運行帶?-f?標志的?Nmon?命令。執(zhí)行nmon –f ***后,nmon?將轉(zhuǎn)為后臺運行。要查看該進程是否仍在運行,可以輸入:?ps -ef | grep nmon。
示例:
每1秒捕獲數(shù)據(jù)快照,捕獲20次
nmon –f -s 1 -c 20
每30秒捕獲數(shù)據(jù)快照,捕獲120次,包含進程信息
nmon –ft -s 30 -c 120
命令將在當前目錄中創(chuàng)建輸出文件,其名稱為:?<hostname>_date_time.nmon。該文件采用逗號分隔值?(CSV)?的格式,并且可以將其直接導(dǎo)入到電子表格中,可進行分析和繪制圖形。
4?NMON使用方法
實際工作中,Nmon有三種常用的使用模式,分別是實時監(jiān)控、后臺監(jiān)控和定期監(jiān)控模式。下面分別加以介紹。
1、實時監(jiān)控:在完成配置后,只需要“#./nmon”命令即可運行程序,通過一些快捷鍵調(diào)取關(guān)心的系統(tǒng)資源指標進行顯示,如按鍵“C”可以查看CPU相關(guān)信息;按鍵“D”可以查看磁盤信息;按鍵“T”可以查看系統(tǒng)的進程信息;“M”對應(yīng)內(nèi)存、“N”對應(yīng)網(wǎng)絡(luò)等等,完整的快捷鍵對應(yīng)內(nèi)容可以通過幫助(按鍵“H”)查看,可以顯示Linux系統(tǒng)CPU、內(nèi)存、進程信息,包括了CPU的用戶、系統(tǒng)、等待和空閑狀態(tài)值,可用內(nèi)存、緩存大小以及進程的CPU消耗等詳細指標。該種方式顯示信息實時性強,能夠及時掌握系統(tǒng)承受壓力下的運行情況,每顆CPU利用率是多少、內(nèi)存使用多少、網(wǎng)絡(luò)流量多少、磁盤讀寫……這些數(shù)據(jù)實時刷新,一目了然。但是如果我們希望將一段時間的資源情況記錄下來,以備后續(xù)的分析工作,則需要以另一種方式使用Nmon。
2、后臺監(jiān)控:為了配合性能測試,我們往往需要將一個時間段內(nèi)系統(tǒng)資源消耗情況記錄下來,這時可以使用命令:./nmon -f -s 10 -c 360。說明:
-f?:按標準格式輸出文件名稱:<hostname>_YYYYMMDD_HHMM.nmon
-s?:每隔n秒抽樣一次,這里為10秒
-c?:取出多少個抽樣數(shù)量,這里為360,即監(jiān)控=10*360/3600=1小時
該命令啟動后,會在Nmon所在目錄下生成監(jiān)控文件,并持續(xù)寫入資源數(shù)據(jù),直至360個監(jiān)控點收集完成——即監(jiān)控1小時,這些操作均自動完成,無需手工干預(yù),測試人員可以繼續(xù)完成其他操作。如果想停止該監(jiān)控,需要通過“#ps –ef|grep nmon”查詢進程號,然后殺掉該進程以停止監(jiān)控。
3、定期監(jiān)控:除配合性能測試的短期監(jiān)控,我們也可以實現(xiàn)對系統(tǒng)的定期監(jiān)控,作為運營維護階段的參考。定期監(jiān)控可通過“#crontab -e”命令實現(xiàn),在最后一行添加“0 8 * * 1,2,3,4,5 /nmon -f -s 30 -c 1200”,表示:周一到周五,從早上08點開始,監(jiān)控10個小時(到18:00整為止)。
5?NMON監(jiān)控結(jié)果分析
通過后臺監(jiān)控和定期監(jiān)控,我們可以得到擴展名為nmon的監(jiān)控文件,這些文件記錄著系統(tǒng)資源的數(shù)據(jù),需要配合分析工具進行解讀。nmon analyser.xls可以將.nmon文件轉(zhuǎn)化為Excel文件,并生成統(tǒng)計圖,直觀顯示系統(tǒng)資源情況。
nmon_analyser_v33g.xls
在測試過程中,我們往往需要更加詳細的信息以分析系統(tǒng)性能情況,如果認為磁盤IO偏高,我們需要進一步獲取磁盤的詳細信息加以分析,在Nmon結(jié)果中打開“DISK_SUMM”標簽頁結(jié)合系統(tǒng)實際設(shè)置,可以進一步確定造成問題的原因,如系統(tǒng)日志級別過低等等。NMON能夠提供CPU、內(nèi)存、硬盤、網(wǎng)絡(luò)等各方面的信息,對于我們的分析工作能夠提供很好的數(shù)據(jù)支持。
另外,我們可以通過一些輸出參數(shù)的調(diào)整以得到偏重不同角度、或不同形式的統(tǒng)計結(jié)果,其中比較常用的“Intervals”參數(shù),該參數(shù)定義了原始.nmon文件的取值范圍,即統(tǒng)計內(nèi)容取自原始數(shù)據(jù)的哪部分。因為原始數(shù)據(jù)是多個采樣點的集合,通過設(shè)置“Intervals”的開始、結(jié)束值。
6?Nmon工具實時監(jiān)控模式運行截屏
Nmon性能監(jiān)測工具啟動時的截屏如下圖所示,其中給出了各個按鍵觸發(fā)的相應(yīng)性能統(tǒng)計數(shù)據(jù)的監(jiān)控信息。
按鍵h觸發(fā)Nmon給出幫助信息(如下圖所示),再次按鍵h,則關(guān)閉幫助信息;
按鍵r觸發(fā)Nmon給出Linux操作系統(tǒng)及處理器的相關(guān)信息(如下圖所示),再次按鍵r,則關(guān)閉該信息;
按鍵c觸發(fā)Nmon給出系統(tǒng)某一采樣時間內(nèi)的CPU使用率的相關(guān)信息(如下圖所示),再次按鍵c,則關(guān)閉該信息;其中U代表用戶時間,S代表系統(tǒng)時間,W代表等待I/O完成的時間。空白表示系統(tǒng)Idle的時間。
按鍵l觸發(fā)Nmon給出系統(tǒng)過去70個采樣點的時間內(nèi)的CPU使用率的相關(guān)信息(如下圖所示),再次按鍵l,則關(guān)閉該信息;其中U代表用戶時間,S代表系統(tǒng)時間,W代表等待I/O完成的時間。空白表示系統(tǒng)Idle的時間。其中白色的豎直線條是代表移動的采樣時間點,一直向右移動,到達最右端后又從最左端開始向右段移動,其中豎直線條中的“+”表示了當前圖像中的數(shù)據(jù)的平均值(也就是過去70個采樣點的時間內(nèi)的CPU平均使用率)
按鍵m觸發(fā)Nmon給出系統(tǒng)的內(nèi)存使用情況的詳細信息(如下圖所示),再次按鍵m,則關(guān)閉該信息;
按鍵d觸發(fā)Nmon給出系統(tǒng)的磁盤及磁盤分區(qū)的使用率、讀寫吞吐量等性能信息(如下圖所示),再次按鍵d,則關(guān)閉該信息;R表示磁盤執(zhí)行讀操作,W表示磁盤執(zhí)行寫操作,空白表示磁盤Idle狀態(tài)。
按鍵D觸發(fā)Nmon給出系統(tǒng)的磁盤及磁盤分區(qū)的使用率、讀寫吞吐量、TPS等性能數(shù)據(jù)的詳細信息(如下圖所示),再次按鍵D,則關(guān)閉該信息;
按鍵j觸發(fā)Nmon給出系統(tǒng)中當前已掛載的日志文件系統(tǒng)及其使用狀態(tài)的信息(如下圖所示,圖中根文件系統(tǒng)所在分區(qū)已使用70%),再次按鍵j,則關(guān)閉該信息;
按鍵n觸發(fā)Nmon給出系統(tǒng)各個網(wǎng)卡的網(wǎng)絡(luò)I/O的詳細信息(如下圖所示,圖中的系統(tǒng)主要使用eth1網(wǎng)卡),再次按鍵n,則關(guān)閉該信息;
如果超過一定的時間(約5秒鐘)沒有出現(xiàn)網(wǎng)絡(luò)錯誤,將會自動關(guān)閉網(wǎng)絡(luò)錯誤計數(shù)的統(tǒng)計信息,只留下網(wǎng)絡(luò)I/O的相關(guān)信息(如下圖所示)。
按鍵k觸發(fā)Nmon給出系統(tǒng)內(nèi)核狀態(tài)的詳細信息(如下圖所示),包括運行隊列個數(shù)、上下文切換次數(shù)、Fork子進程次數(shù)、中斷發(fā)生次數(shù)、平均負載、平均CPU使用率、系統(tǒng)運行時間、系統(tǒng)Idle時間等等。再次按鍵k,則關(guān)閉該信息;
按鍵o觸發(fā)Nmon給出系統(tǒng)各個磁盤分區(qū)的使用情況(繁忙程度)的詳細信息(如下圖所示),圖中包含10個磁盤(或分區(qū)),按照Key:提示的信息可以看出磁盤0和磁盤2的業(yè)務(wù)處理的使用在90%以上,其他7個磁盤的則是0%。再次按鍵o,則關(guān)閉該信息;
按鍵t觸發(fā)Nmon給出系統(tǒng)的進程的相關(guān)信息,默認為模式3,按照CPU使用率的順序?qū)M程排序(如下圖所示)。再次按鍵t,則關(guān)閉該信息;
按鍵t然后再按1觸發(fā)Nmon給出系統(tǒng)的進程的相關(guān)信息以模式1的方式顯示,按照進程優(yōu)先級順序?qū)M程排序(如下圖所示),同時給出進程的運行狀態(tài)信息。再次按鍵t,則關(guān)閉該信息;
按鍵t然后再按4觸發(fā)Nmon給出系統(tǒng)的進程的相關(guān)信息以模式4的方式顯示,按照進程占用內(nèi)存大小的順序?qū)M程排序(如下圖所示)。再次按鍵t,則關(guān)閉該信息;
按鍵t然后再按5觸發(fā)Nmon給出系統(tǒng)的進程的相關(guān)信息以模式5的方式顯示,按照進程產(chǎn)生IO的大小的順序?qū)M程排序(如下圖所示),同時給出進程的運行狀態(tài)信息。再次按鍵t,則關(guān)閉該信息;
總結(jié)
以上是生活随笔為你收集整理的Linux性能监测工具Nmon介绍及其使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CentOS SVN安装与配置 (RHE
- 下一篇: Linux中介绍who命令实例