一、下載nmon
根據CPU的類型選擇下載相應的版本:
http://nmon.sourceforge.net/pmwiki.php?n=Site.Download
wget http://sourceforge.net/projects/nmon/files/download/nmon_x86_12a.zip
方法1:
1
2
3
4
|
[root@mululu ~]# cd /opt
[root@mululu opt]# mkdir nmon
[root@mululu opt]# cd nmon
[root@mululu nmon]#wget <a href= "http://sourceforge.net/projects/nmon/files/download/nmon_x86_12a.zip/download" >http://sourceforge.net/projects/nmon/files/download/nmon_x86_12a.zip</a>
|
方法2:
點擊第一個鏈接,下載列表中的nmon_linux_14i_newer_Linux_versions.tar.gz,解壓后里邊有很多版本的nmon,我用的是nmon_linux_x86_64,親測可用。根據linux系統版本,使用其他版本可能會提示glibc版本太低,需要安裝更高版本的glibc,遇到這種問題請參考http://blog.csdn.net/cpplang/article/details/8462768。
直接在window中將解壓好的nmon_linux_x86_64通過sftp上傳到要監控的linux系統中對應目錄下
二、初始化工具
[root@lampard 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@lampard 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@lampard nmon]# mv nmon_x86_ubuntu810 nmon #重命名nmon [root@lampard nmon]# chmod +x nmon #授權命令
[root@lampard 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@lampard 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 文件,並每十秒更新一次,直到十分鍾后。
生成的文件名如: lampard_190103_1506.nmon ,"lampard" 是這台主機的主機名。
nmon -h 查看更多幫助信息
---------------------------------------
---------------------------------------
!!!可能會遇到下面問題
解決方式:
先看看這個命令屬於哪個軟件包:
[root@lampard ~]# 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@lampard ~]# yum install -y redhat-lsb
[root@lampard ~]# 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 秒,正好是一天的數據。
四、停止監控
nmon運行本身是會消耗系統資源,如需關閉nmon,直接kill掉
# ps -ef | grep nmon (得到pid)
# kill -9 pid (安全kill)
-----------------------------------------------------------------
!!!實際應用時遇到“nmon analyser 運行時錯誤 13 類型不匹配”
解決辦法: 將本機系統時間格式設置為:yyyy-MM-dd。電腦的計算機名不能有特殊字符。
-----------------------------------------------------------------