原文鏈接:http://www.cnblogs.com/Detector/p/6945373.html
nmon
nmon是一種在AIX與各種Linux操作系統上廣泛使用的監控與分析工具,相對於其它一些系統資源監控工具來說,nmon所記錄的信息是比較全面的,它能在系統運行過程中實時地捕捉系統資源的使用情況,並且能輸出結果到文件中,然後通過nmon_analyzer工具產生數據文件與圖形化結果。
nmon主要記錄以下數據:
- cpu佔用率
- 內存使用情況
- 磁盤I/O速度、傳輸和讀寫比率
- 文件系統的使用率
- 網絡I/O速度、傳輸和讀寫比率、錯誤統計率與傳輸包的大小
- 消耗資源最多的進程
- 計算機詳細信息和資源
- 頁面空間和頁面I/O速度
- 用戶自定義的磁盤組
- 網絡文件系統
下載
國外的源站嘗試過幾乎打不開,或者目錄太過繁複,記錄一個自己成功安裝、使用nmon的經驗
使用 的是 wget 命令:
wget http://sourceforge.net/projects/nmon/files/nmon_linux_14i.tar.gz
下載頁面如下:
執行 ll 命令能在當前目錄看到 nmon_linux_14i.tar.gz 文件
解壓下載文件
tar -zxvf nmon_linux_14i.tar.gz
解壓後文件如下圖,從圖中可以看出,nmon幾乎支持當前所有主流的AIX 和 Linux系統。
因爲我使用的是redhat ,直接執行下面這個文件就能啓動nmon:
啓動
直接執行後可以看到如下的界面,可以通過輸入不同的字符讓其展示不同的數據,
如輸入c可顯示CPU的信息,“m”對應內存、“n”對應網絡,“d”可以查看磁盤信息;“t”可以查看系統的進程信息
數據採集
nmon可以通過命令的形式來監控系統在一段時間內的使用情況,並將結果記錄下來
nmon -f -s 10 -c 60
參數說明:
-f 表示生成的數據文件名中有時間;
-s 10 表示每 10 秒採集一次數據;
-c 60 表示採集 60 次,10*60=600 秒
當我們執行上面的命令後,可以看到當前目錄新增了一個以本主機名和當前日期爲名稱的“.nmon”文件。符合“<hostname>_date_time.nmon", 這個格式。
並且我們通過ps命令可以看到相關的nmon進程,這個進程10分鐘過後會消失的。,
生成圖形化結果
在運行結束後,我們可以吧這個“.nmon”文件導到本地。然後下載nmonanalyser,打開其中的nmonanalyser文件,並啓用宏。
然後點擊“Analyse nmon data”導入我們從linux下導出的“.nmon”文件,點擊確定,就會自動生成圖形化的excel,如下圖:
以上就是nmon的簡單描述與使用介紹 ~
報告參數說明
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的時間戳爲現在真實的時間,方便更容易的分析 |