1、概述php
監控,在檢查系統問題或優化系統性能工做上是一個不可缺乏的部分。經過操做系統監控工具監視操做系統資源的使用狀況,間接地反映了各服務器程序的運行狀況。根據運行結果分析能夠幫助咱們快速定位系統問題範圍或者性能瓶頸點。html
nmon是一種在AIX與各類Linux操做系統上普遍使用的監控與分析工具,相對於其它一些系統資源監控工具來講,nmon所記錄的信息是比較全面的,它能在系統運行過程當中實時地捕捉系統資源的使用狀況,而且能輸出結果到文件中,而後經過nmon_analyzer工具產生數據文件與圖形化結果。node
nmon所記錄的數據包含如下一些方面(也是咱們在尋找問題過程當中所關注的資源點):linux
● cpu佔用率緩存
●內存使用狀況安全
●磁盤I/O速度、傳輸和讀寫比率bash
●文件系統的使用率服務器
●網絡I/O速度、傳輸和讀寫比率、錯誤統計率與傳輸包的大小網絡
●消耗資源最多的進程異步
●計算機詳細信息和資源
●頁面空間和頁面I/O速度
●用戶自定義的磁盤組
●網絡文件系統
另外在AIX操做系統上,nmon還能監控到其餘的一些信息,如異步I/O等。
關於這個工具的更加詳細的說明請看IBM官方網站的說明:
一、nmon工具:
http://www.ibm.com/developerworks/cn/aix/library/nmon_analyser/
二、nmon analyser工具:
http://www.ibm.com/developerworks/cn/aix/library/nmon_analyser/
2、下載安裝nmon
如何獲取nmon呢?咱們能夠在IBM的官方網站上免費下載獲取,下載網址爲:https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Power%20Systems/page/nmon
下載頁面以下所示:
nmon的安裝步驟以下:
1)用root用戶登陸到系統中;
2)建目錄:
1
|
#mkdir /test
|
3)把nmon用ftp上傳到/test,或者經過其餘介質拷貝到/test目錄中;
4)執行受權命令:
1
|
#chmod +x nmon
|
測試:
Nmon工具使用比較簡單,在nmon目錄下,輸入
1
|
.
/nmon
|
出現此畫面,說明已安裝成功。(這是AIX版本的畫面,其餘版本畫面會稍有不一樣)
輸入c可顯示CPU的信息,「m」對應內存、「n」對應網絡,「d」能夠查看磁盤信息;「t」能夠查看系統的進程信息;「
如下爲nmon的幫助頁面:
使用單鍵命令來查看您所須要的數據。例如,要獲取CPU、內存和磁盤統計信息,啓動nmon 並輸入:cm d;
若需獲取相關的幫助信息,按 h 鍵。
要需獲取附加的幫助信息,能夠嘗試其餘方法:
輸入 nmon -? 命令能夠獲取簡短的詳細信息。
輸入 nmon -h 命令能夠獲取完整的詳細信息。
3、nmon數據採集
一、數據採集
爲了實時監控系統在一段時間內的使用狀況並將結果記錄下來,咱們能夠經過運行如下命令實現:
1
|
#./ nmon -f -t -s30 -c 180
|
參數說明:
l-f:按標準格式輸出文件:<hostname>_YYYYMMDD_HHMM.nmon;
l-t:輸出中包括佔用率較高的進程;
l-s30:每30秒進行一次數據採集
l-c180:一共採集180次
輸入命令回車後,將自動在當前目錄生成一個hostname_timeSeries.nmon的文件,nmon輸出文件的命名方式是服務器名_日期時間.nmon
特別說明:
該命令啓動後,會在nmon所在目錄下生成監控文件,並持續寫入資源數據,直至360個監控點收集完成——即監控1小時,這些操做均自動完成,無需手工干預,測試人員能夠繼續完成其餘操做。若是想中止該監控,須要經過「#ps–ef|grepnmon」查詢進程號,而後殺掉該進程以中止監控。
經過sort命令能夠將nmon結果文件轉換爲csv文件:
1
|
# sort -A hostname_timeSeries.nmon> hostname_timeSeries.nmon.csv
|
執行完sort命令後便可在當前目錄生產hostname_timeSeries.nmon.csv文件。
二、生成圖形化結果
爲了分析nmon監控得到的結果,IBM還提供了相應的圖形化分析工具nmon_analyser,經過nmonanalyser.xls工具能夠把監控的結果文件轉換成excel文件,方便分析系統的各項資源佔用狀況。
nmon_analyser工具的下載:
http://www-941.haw.ibm.com/collaboration/wiki/display/Wikiptype/nmonanalyser
nmon analyser.xls工具的使用方法以下:
(1)打開nmonanalyser.xls工具;
(2)調整excel宏安全性:工具-宏-安全性
(若是報告如下宏的安全級別過高錯誤,則在「工具-- 宏--安全性」裏把級別調低,而後從新打開文件)
(3)修改完後,肯定-關閉nmonanalyser.xls,從新打開;
(4)點擊Analysernmon data 按鈕,選擇下載下來的.csv文件,而後就會轉化成.excel文件,生成圖形化的文件
以上就是nmon的簡單描述與使用介紹,你們能夠根據本身所採集到的結果分析系統的狀況。點擊在EXCEL工具下的標籤能夠看見不一樣的性能報告,參考以下:
sheet名稱 |
sheet含義 |
SYS_SUMM |
系統彙總,藍線爲cpu佔有率變化狀況,粉線爲磁盤IO的變化狀況; |
AAA |
關於操做系統以及nmon自己的一些信息; |
BBBB |
系統外掛存儲容量以及存儲類型; |
BBBC |
系統外掛存儲位置、狀態以及描述信息; |
BBBD |
磁盤適配器信息;(包含磁盤適配器名稱以及描述) |
BBBE |
包含經過lsdev命令獲取的系統設備及其特徵,顯示vpaths和hdisks之間的映射關係; |
BBBG |
顯示磁盤組詳細的映射關係; |
BBBL |
邏輯分區(LPAR)配置細節信息; |
BBBN |
網絡適配器信息; |
BBBP |
vmtune, schedtune, emstat和lsattr命令的輸出信息; |
CPUnn |
顯示執行之間內CPU佔用狀況,其中包含user%、sys%、wait%和idle%; |
CPU_ALL |
全部CPU概述,顯示全部CPU平均佔用狀況,其中包含SMT狀態; |
CPU_SUMM |
每個CPU在執行時間內的佔用狀況,其中包含user%、sys%、wait%和idle%; |
DGBUSY |
磁盤組每一個hdisk設備平均佔用狀況; |
DGREAD |
每一個磁盤組的平均讀狀況; |
DGSIZE |
每一個磁盤組的平均讀寫狀況(塊大小); |
DGWRITE |
每一個磁盤組的平均寫狀況; |
DGXFER |
每一個磁盤組的I/O每秒操做; |
DISKBSIZE |
執行時間內每一個hdisk的傳輸塊大小; |
DISKBUSY |
每一個hdisk設備平均佔用狀況; |
DISKREAD |
每一個hdisk的平均讀狀況; |
DISKWRITE |
每一個hdisk的平均寫狀況; |
DISKXFER |
每一個hdisk的I/O每秒操做; |
DISKSERV |
本sheet顯示在每一個收集間隔中hdisk的評估服務時間(未響應時間) |
DISK_SUMM |
整體disk讀、寫以及I/O操做; |
EMCBSIZE/FAStBSIZE |
執行時間內EMC存儲的傳輸塊大小; |
EMCBUSY/FAStBUSY |
EMC存儲設備平均佔用狀況; |
EMCREAD/FAStREAD |
EMC存儲的平均讀狀況; |
EMCWRITE/FAStWRITE |
EMC存儲的平均寫狀況; |
EMCXFER/FAStXFER |
|
EMCSERV/FAStSERV |
|
ESSBSIZE |
本sheet記錄在系統中每一個vpaths下讀寫操做的平均數據傳輸大小(blocksize) Kbytes |
ESSBUSY |
本sheet記錄使用ESS系統的每一個vpaths下的設備繁忙狀況 |
ESSREAD |
本sheet記錄在系統中每一個vpaths下讀取操做的 data rate (Kbytes/sec) |
ESSWRITE |
本sheet記錄在系統中每一個vpaths下寫入操做的 data rate (Kbytes/sec) |
ESSXFER |
本sheet記錄在系統中每一個vpaths下每秒的IO操做 |
ESSSERV |
本sheet顯示在每一個收集間隔中vpaths的評估服務時間(未響應時間) |
FILE |
本sheet包含nmon內核內部的統計信息的一個子集,跟sar報告的值相同 |
FRCA |
|
IOADAPT |
對於BBBCsheet每一個IO適配器列表,包含了數據傳輸速度爲讀取和寫入操做(千字節/秒)和I / O操做執行的總數量 |
JFSFILE |
本sheet顯示對於每個文件系統中,在每一個間隔區間正在被使用的空間百分比 |
JFSINODE |
本sheet顯示對於每個文件系統中,在每一個間隔區間正在被使用的inode百分比 |
LARGEPAGE |
本圖表顯示Usedpages和Freepages隨着時間的變化 |
LPAR |
|
MEM |
本sheet主圖上顯示空閒實存的數量 |
MEMUSE |
除 %comp參數外,本sheet包含的全部項都和vmtune命令的報告中同樣 |
MEMNEW |
本sheet顯示分配的內存片信息,分三大類:用戶進程使用頁,文件系統緩存,系統內核使用頁 |
NET |
本sheet顯示系統中每一個網絡適配器的數據傳輸速率(千字節/秒) |
NETPACKET |
本sheet統計每一個適配器網絡讀寫包的數量;這個相似於netpmon –O dd 命令 |
NFS sheets |
|
PAGE |
本sheet統計相關頁信息的記錄 |
PROC |
本sheet包含nmon內核內部的統計信息。其中RunQueue和Swap-in域是使用的平均時間間隔,其餘項的單位是比率/秒 |
PROCAIO |
本sheet包含關於可用的和active的異步IO進程數量信息. |
TOP |
|
UARG |
|
WLM sheets |
|
ZZZZ |
本sheet自動轉換全部nmon的時間戳爲如今真實的時間,方便更容易的分析 |
關於NMON命令與語法更加詳細的命令請看下面的頁面:
相關參考資料:
一、Nmon在IBM的官方網站
http://www.ibm.com/developerworks/wikis/display/WikiPtype/nmon
二、nmon for linux的官方網站
http://nmon.sourceforge.net/pmwiki.php
三、文章一:《nmon 性能:分析 AIX 和Linux 性能的免費工具》
http://www.ibm.com/developerworks/cn/aix/library/analyze_aix/
四、文章二:《nmon analyser——生成AIX 性能報告的免費工具》
http://www.ibm.com/developerworks/cn/aix/library/nmon_analyser/index.html:
說明:以上截圖來源網絡,但不影響理解和分析
本文出自 「Lee」 博客,請務必保留此出處http://leexide.blog.51cto.com/6459431/1260067