一.nmon工具介紹
nmon 是一個分析aix和linux性能的免費工具(主要是ibm為自己的aix操作系統開發的,但是也可以用在linux操作系統),而nmon_analyser是nmon的一個工具可以把nmon生成的報告轉化成excel報表的形式供查看
nmon 工具可以在一個屏幕上顯示所有重要的性能優化信息,並動態地對其進行更新。它並不會消耗大量的 CPU ,通常低於百分之二
下載地址:
http://nmon.sourceforge.net/pmwiki.php?n=Site.Download
注意選擇和自己機器對應的版本:
linux查看系統版本號:
1.對於linux系統而已,有成百上千個發行版。對於發行版的版本號查看方法
如以centos為例。輸入lsb_release -a即可
該命令適用於所有的linux,包括Redhat、SuSE、Debian等發行版
2.
3.
查看系統位數
同樣對於Linux系統而言也有32和64位之分,用上述查看內核方法,輸入
uname -a 或 more /proc/version
在內核版本后面會有一個X86_64就是表示64為系統啦
# uname -a
x86_64則說明你是64位內核, 跑的是64位的系統.
i386, i686說明你是32位的內核, 跑的是32位的系統
cat /etc/issue
查看內核的幾種方法:
1. uname -a#顯示詳細的內核信息,
Linux localhost.localdomain 2.6.18-92.1.6.el5xen #1 SMP Wed Jun 25 12:56:52 EDT 2008 x86_64 x86_64 x86_64 GNU/Linux
2. cat /etc/issue#顯示版本類型
Scientific Linux SL release 5.2 (Boron)
Kernel \r on an \m
3. cat /proc/version
Linux version 2.6.18-92.1.6.el5xen (brewbuilder@norob.fnal.gov) (gcc version 4.1.2 20071124 (Red Hat 4.1.2-42)) #1 SMP Wed Jun 25 12:56:52 EDT 2008
查看操作系統位數:
1.ls / #如果有lib64或這個目錄,那操作系統就是64位的
2.getconfig LONG_BIT 若輸出32即為32位系統,64為64位系統
32位的系統中int類型和long類型一般都是4字節,
64位的系統中int類型還是4字節的,但是long已變成了8字節。
inux系統中可 用"getconf WORD_BIT"和"getconf LONG_BIT"獲得word和long的位數。
64位系統中應該分別得到32和64。
3. uname -a中若為X86示意為64位系統,i386等位32位系統
二.下載安裝
nmon默認下載之后只是一個可執行測的文件,但是下載時根據不同的系統來進行區分的
大家可以根據自己的系統選擇相應的版本。
執行命令 cat /etc/issue 查看系統版本。
二、工具安裝
1、下載nmon頁面地址:http://nmon.sourceforge.net/pmwiki.php?n=Site.Download
2、下載指定版本nmon到centos6X:wget https://nchc.dl.sourceforge.net/project/nmon/nmon16d_x86.tar.gz
3、解壓:tar -zxvf nmon16d_x86.tar.gz,會有多個不同發行版的適用包
首先將下載的nmon_x86_64_centos6文件上傳到linux服務器上
[root@localhost source]#cp nmon_x86_64_centos6 /usr/bin
[root@localhost source]#cd /usr/bin
[root@localhost source]# chmod 777 nmon_x86_64_centos6
[root@localhost source]# ./nmon_x86_64_centos6(切換到nmon_x86_rhel45文件所在的目錄)
[root@localhost source]# env
[root@localhost source]# mv nmon_x86_64_centos6 nmon
[root@localhost source]# nmon(此時nmon就是全局命令)
也有可能
監控設置
15分鍾=900s
#alias nmon15='nmon -f -s3 -c300 -m /root/qumf/'
http://blog.51cto.com/icestick8586/1912060
nmon工具命令的使用:
#nmon -s 300 -c 288 -f -m /tmp
-s 300:表示每300秒采集一次數據,
-c 288 :表示采集288次,300*288=86400秒,剛好是1天的數據,這樣運行一次這個程序就會生成一個一天的數據文件,
-m /tmp: 表示生成的數據文件的路徑
-f :表示生成的數據文件名中有時間
也可以讓其自動監控,每天一個文件夾,每小時一個文件,每分鍾或5分采樣一次
參數解釋:
-s10 每 10 秒采集一次數據。
-c60 采集 60 次,即為采集十分鍾的數據。
-f 生成的數據文件名中包含文件創建的時間。
-m 生成的數據文件的存放目錄。
nmon -f -s 10 -c 60
更多用法
crontab -e
0 0 * * * /usr/local/nmo -s300 -c288 -f -m /home/nmon/ > /dev/null 2>&1
表示:
300*288=86400 秒,正好是一天的數據。
0 8 * * 1,2,3,4,5 /usr/local/nmon -f -N -m /home/nmon/log -s 30 -c 1200
表示:
周一到周五,從早上08點開始,監控10個小時(到18:00整為止),輸出到/home/nmon/log。
范例1:
自動按天采集數據:
在 crontab 中增加一條記錄:
0 0 * * * nmon -s300 -c288 -f -m /home/ > /dev/null 2>&1:
300*288=86400 秒,正好是一天的數據。
范例2:
A、執行命令:#crontab -e
B、在最后一行添加如下命令:
0 8 * * 1,2,3,4,5 /nmon/scriptn/mon_x86_rhel52 -f -N -m /nmon/log -s 30 -c 1200
表示:
周一到周五,從早上08點開始,監控10個小時(到18:00整為止),輸出到/nmon/log
三、nmon數據采集
1、數據采集
為了實時監控系統在一段時間內的使用情況並將結果記錄下來,我們可以通過運行以下命令實現:
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”查詢進程號,然后殺掉該進程以停止監控。
四.生成圖形化結果
下載 nmon analyser (生成性能報告的免費工具):