一、下載Nmon
根據CPU的類型選擇下載相應的版本:
http://nmon.sourceforge.net/pmwiki.php?n=Site.Download
wget http://sourceforge.net/projects/nmon/files/download/nmon_x86_12a.zip
二、初始化工具
[root@mululu ~]# cd /opt [root@mululu opt]# mkdir nmon [root@mululu opt]# cd nmon [root@mululu nmon]#wget http://sourceforge.net/projects/nmon/files/download/nmon_x86_12a.zip
[root@mululu nmon]# unzip nmon_x86_12a.zip Archive: nmon_x86_12a.zip inflating: nmon_x86_rhel45 inflating: nmon_x86_rhel52 inflating: nmon_x86_sles9 inflating: nmon_x86_sles10 inflating: nmon_x86_ubuntu810 inflating: nmon_x86_fedora10 inflating: nmon_x86_opensuse10 [root@mululu nmon]# ls nmon1 nmon_x86_fedora10 nmon_x86_rhel45 nmon_x86_sles10 nmon_x86_ubuntu810 nmon_x86_12a.zip nmon_x86_opensuse10 nmon_x86_rhel52 nmon_x86_sles9 [root@mululu nmon]# mv nmon_x86_ubuntu810 nmon [root@mululu nmon]# chmod +x nmon
[root@mululu nmon]#ls
nmon nmon1 nmon_x86_12a.zip nmon_x86_fedora10 nmon_x86_opensuse10 nmon_x86_rhel45 nmon_x86_rhel52 nmon_x86_sles10 nmon_x86_sles9
然后直接運行 nmon 即可,直接運行nmon可以實時監控系統資源的使用情況,執行下面的步驟可以展現一段時間系統資源消耗的報告。
下面是直接執行nmon命令實時監控系統資源消耗情況的截圖:
[root@mululu nmon]#./nmon
CPU、內存、磁盤和網絡的消耗情況都被很直觀的展現出來。
按鍵“C”可以查看CPU相 關信息;
按鍵“D”可以查看磁盤信息;
按鍵“T”可以查看系統的進程信息;
“M”對應內存、“N”對應網絡等等;
完整的快捷鍵對應內容可以通過幫助(按鍵 “H”)查看。
可以顯示Linux系統CPU、內存、進程信息,包括了CPU的用戶、系統、等待和空閑狀態值,可用內存、緩存大小以及進程的CPU消耗等詳細指標。該種方式顯示信息實時性強,能夠及時掌握系統承受壓力下的運行情況,每顆CPU利用率是多少、內存使用多少、網絡流量多少、磁盤讀寫……這些數據均是實時刷新,一目了然。
三.生成nmon報告。
1).采集數據:
#./nmon -s10 -c60 -f -m /home/
參數解釋:
-s10 每 10 秒采集一次數據。
-c60 采集 60 次,即為采集十分鍾的數據。
-f 生成的數據文件名中包含文件創建的時間。
-m 生成的數據文件的存放目錄。
這樣就會生成一個 nmon 文件,並每十秒更新一次,直到十分鍾后。
生成的文件名如: _090824_1306.nmon ,"" 是這台主機的主機名。
nmon -h查看更多幫助信息。
解決方式:
先看看這個命令屬於哪個軟件包: [root@mululu ~]# yum provides */lsb_release Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.psychz.net * epel: mirrors.solfo.com * extras: mirror.san.fastserv.com * updates: mirror.lax.hugeserver.com base/filelists_db | 5.1 MB 00:00 epel/filelists_db | 7.8 MB 00:00 extras/filelists_db | 31 kB 00:00 updates/filelists_db | 614 kB 00:00 vz-base/filelists | 825 B 00:00 vz-updates/filelists | 3.0 kB 00:00 redhat-lsb-core-4.0-7.el6.centos.i686 : LSB base libraries support for CentOS Repo : base Matched from: Filename : /usr/bin/lsb_release dkms-2.2.0.3-28.git.7c3e7c5.el6.noarch : Dynamic Kernel Module Support Framework Repo : epel Matched from: Filename : /usr/lib/dkms/lsb_release dkms-2.2.0.3-26.el6.noarch : Dynamic Kernel Module Support Framework Repo : installed Matched from: Filename : /usr/lib/dkms/lsb_release redhat-lsb-core-4.0-7.el6.centos.i686 : LSB base libraries support for CentOS Repo : installed Matched from: Filename : /usr/bin/lsb_release 可以看出,屬於redhat-lsb這個包,那么接着使用yum安裝這個包: [root@mululu ~]# yum install -y redhat-lsb [root@mululu ~]#lsb_release -r
2).生成報表:
下載 nmon analyser (生成性能報告的免費工具):
https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Power%20Systems/page/nmon_analyser
將之前生成的 nmon 數據文件傳到 Windows 機器上,用 Excel 打開分析工具 nmon analyser v33C.xls 。點擊 Excel 文件中的 "Analyze nmon data" 按鈕,選擇 nmon 數據文件,這樣就會生成一個分析后的結果文件: hostname_090824_1306.nmon.xls ,用 Excel 打開生成的文件就可以看到結果了。
如果宏不能運行,需要做以下操作:
工具 -> 宏 -> 安全性 -> 中,然后再打開文件並允許運行宏。
下面是在測試環境中生成的NMON報告截圖:
紅色區域為不同指標的分析報告。
3).
定時任務
除配合性能測試的短期監控,我們也可以實現對系統的定期監控,作為運營維護階段的參考。定期監控實現如下:
1) 執行命令:#crontab –e
2) 在最后一行添加如下命令:
0 8 * * 1,2,3,4,5 /nmon/nmon_x86_rhel5 -f -N -m /nmon/log -s 30 -c 1200
表示:
周一到周五,從早上08點開始,監控10個小時(到18:00整為止),輸出到/nmon/log
自動按天采集數據:
在 crontab 中增加一條記錄:
0 0 * * * root nmon -s300 -c288 -f -m /home/ > /dev/null 2>&1
300*288=86400 秒,正好是一天的數據。