一、概述
監控,在檢查系統問題或優化系統性能工做上是一個不可缺乏的部分。經過操做系統監控工具監視操做系統資源的使用狀況,間接地反映了各服務器程序的運行狀況。根據運行結果分析能夠幫助咱們快速定位系統問題範圍或者性能瓶頸點。nmon是一種在AIX與各類Linux操做系統上普遍使用的監控與分析工具,相對於其它一些系統資源監控工具來講,nmon所記錄的信息是比較全面的,它能在系統運行過程當中實時地捕捉系統資源的使用狀況,而且能輸出結果到文件中,而後經過nmon_analyzer工具產生數據文件與圖形化結果。
nmon所記錄的數據包含如下一些方面(也是咱們在尋找問題過程當中所關注的資源點):
i.NMON的基本功能centos
IBM的性能監控工具NMON工具能夠爲AIX和LINUX提供監視和分析性能數據的功能,其中能夠採集的數據包括:
CPU使用率
內存使用狀況
內核統計信息和運行隊列信息
磁盤I/O速度、傳輸和讀/寫比率
文件系統中的可用空間
磁盤適配器
網絡I/O速度、傳輸和讀/寫比率
頁面空間和頁面速度
CPU和AIX規範
消耗資源最多的進程
IBM HTTP Web緩存
用戶自定義的磁盤組
計算機詳細信息和資源
異步I/O,僅適用於AIX
工做負載管理器 (WLM),僅適用於AIX
IBM TotalStorage® Enterprise Storage Server® (ESS) 磁盤,僅適用於AIX
網絡文件系統 (NFS)
動態LPAR (DLPAR) 更改,僅適用於面向AIX或Linux的pSeries p5和OpenPower
ii.NMON ANALYSER的基本功能介紹緩存
快速讀取NMON產生的性能監控數據,並生成CPU、內存、網絡、IO相關的性能數據報表,並可以針對每個進程生成進程的資源佔用狀況圖表。
熱點分析的加權平均值的計算
用處理器與收集間隔的比值表示的 CPU 使用率的分佈狀況,該信息有助於識別單線程的進程
IBM TotalStorage® Enterprise Storage Server (ESS) vpaths 的附加部分顯示了每日各時段的設備繁忙狀態、讀取傳輸大小和寫入傳輸大小
每日各時段的系統總數據速率,並對其進行調整以排除對 EMC hdiskpower 設備的重複計算,該信息有助於識別 I/O 子系統和 SAN(存儲局域網絡)瓶頸
EMC Corporation (EMC) hdiskpower 和 ESS DS8000(之前的 FAStT)dac 設備獨立的工做表
分析內存使用率,以顯示計算性和非計算性頁面之間的差別
每一個網絡適配器的每日各時段總數據速率
顯示每條命令的平均 CPU 和內存使用率的 TOP 部分彙總數據安全
二、下載安裝服務器
i、下載網絡
http://www.ibm.com/developerworks/wikis/display/WikiPtype/nmon+Manualssh
《nmon工具使用說明.pdf》異步
https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Power+Systems/page/nmon_analyser工具
分析結果的工具,這個工具是一個excel的文件,名稱爲:nmon analyser v33A.xls性能
https://sourceforge.net/projects/nmon/files/nmon16d_x86.tar.gz/download優化
nmon_analyser下載地址
ii、安裝
一、上傳到服務器;
二、tar -xzvf nmon16d_x86.tar.gz解壓安裝包;
tips:最好先創建一個文件夾,將須要解壓的文件解壓到該文件夾下。
3.初步使用
i、運行界面
一、運行./nmon_x86_64_centos6就能夠進入以下運行界面:
二、按c是查看CPU使用狀況,獲得以下圖所示:
三、依次類推,鍵入「m」查看系統內存使用狀況;鍵入「d」查看系統磁盤I/O狀況;鍵入「h」查看幫助信息等。
ii、後臺命令
./nmon/ nmon_x86_rhel5 -f -N -m /nmon/log -s 30 -c 120
參數含義爲:
-f輸出文件;
-T輸出最耗資源的進程;
-s收集的時間間隔,單位爲秒;
-c收集次數。
上面的命令會將系統最耗資源的進程近25秒的資源佔用狀況,每5s的方式收集一次,共5次,輸出到當前目錄的.nmon文件中。這個命令輸入後,收集工做會在後臺執行,所以文件會持續增加,在收集工做完成以前,不要將文件拷貝出來分析,可用ps命令看nmon進程。用ssh或其它ftp工具將生成的nmon文件拷貝出來,再用下載的nmon analyser工具打開,便可轉換成Excel文件,在打開nmon analyser時會有宏安全提示,設置爲容許便可。
而後獲得以下圖:
其餘:
範例1:
自動按天採集數據:
在 crontab 中增長一條記錄:
300*288=86400 秒,正好是一天的數據。
範例2:
A、執行命令:#crontab -e
B、在最後一行添加以下命令:
表示:
週一到週五,從早上08點開始,監控10個小時(到18:00整爲止),輸出到/nmon/log