關(guān)于nmon的史上最強干貨,充滿了對軟測人滿滿的愛~
前言
關(guān)于nmon
說到服務(wù)器資源監(jiān)控,你的第一反應(yīng),是不是 nmon 這個工具?
如果你不是,或者你不會 nmon 進行服務(wù)器資源監(jiān)控,請認(rèn)真看下這篇文章,因為,這可能是國內(nèi)用一篇文章,對 nmon 進行最詳盡講解的。
簡介??
nmon 是?Nigel's performance Monitor for Linux(nigel 的 Linux 性能監(jiān)控器)的英文縮寫;它有三種運行模式,分別是:實時屏幕模式、數(shù)據(jù)收集模式、定時計劃執(zhí)行模式。
這款工具運行時,本身資源消耗很小,而且監(jiān)控的資源種類比較多,使用非常簡單,所以,在沒有搭建專業(yè)的監(jiān)控平臺時,很多人都會想到用它來監(jiān)控服務(wù)器。
安裝和使用??
下載安裝:
首先要知道自己監(jiān)控的 Linux 服務(wù)器的發(fā)行版本,怎么看呢?
# 查看centos的發(fā)行版本 cat /ect/redhat-release?
# 查看Ubuntu的發(fā)行版本 lsb_release -a
根據(jù)看到的系統(tǒng)版本,在 nmon 的 下載頁面 中,查找支持對應(yīng)版本的最新 nmon 版本,下載完成之后,在 Linux 中,解壓下載包
# 本地下載,然后通過sftp方式上傳到linux服務(wù)器任意文件路徑
# 或
# 在linux中用wget 下載地址 直接下載到機器的任意文件路徑?
# 解壓 tar -xzvf nmon****.tar.gz
實時屏幕模式
直接執(zhí)行對應(yīng)系統(tǒng)的 nmon 文件,如 Linux 系統(tǒng)發(fā)行版本的 centos8,則執(zhí)行?./nmon_x86_64_centos8?,將開啟 nmon 的實時屏幕展示模式。

看到這樣一個黑色窗口,是不是就楞了,不知道怎么做了?看到這樣一個自己陌生的東西,千萬不要去害怕,你要知道,他們其實都是紙老虎。
從頂部第一行,我們可以看到,當(dāng)前機器的名稱叫l(wèi)ocalhost,頁面數(shù)據(jù)刷新的時間是 2 秒,當(dāng)前時間,再往下看,告訴我們輸入'h',就能獲得更多幫助,接下來,就是操作系統(tǒng)相關(guān)信息;再接下來告訴我們,可以使用下面這些鍵,獲得對應(yīng)功能數(shù)據(jù)展示。

輸入:cmdU

這樣,我們就能從屏幕上,實時看到當(dāng)前服務(wù)器資源使用情況,按 q,退出查看
更多參數(shù)說明:

數(shù)據(jù)收集模式
如果你的 Linux 系統(tǒng)發(fā)行版本是 centos8,則執(zhí)行 ./nmon_x86_64_centos8 -f ,將開啟 nmon 的數(shù)據(jù)收集模式,該命令后面不在跟參數(shù),則默認(rèn)為:-s300 -c288
注意:?直接執(zhí)行這個命令,后面不帶參數(shù),該命令將在后臺持續(xù)運行 24 小時,收集24 小時資源使用情況
使用?-f?開啟數(shù)據(jù)收集模式,還可以跟上其他參數(shù)

這么多參數(shù),并不需要所有都記住,只需要重點記住幾個即可:-f、-s、-c、-m、-p
常用案例:
./nmon_x86_64_centos8 -f ? ?# 監(jiān)控服務(wù)器,將結(jié)果標(biāo)準(zhǔn)輸出,命令將后臺持續(xù)運行 24 小時
?./nmon_x86_64_centos8 -f -s3 -c10 ?# 每隔3秒收集一次,收集10次,將結(jié)果標(biāo)準(zhǔn)輸出??
./nmon_x86_64_centos8 -f -s3 -c10 -m /tmp/nmon ?# 每隔3秒收集一次,收集10次, 將結(jié)果標(biāo)準(zhǔn)輸出到指定路徑,注意:文件夾要存在。
更多參數(shù)說明:

定時計劃執(zhí)行模式
如果你的 Linux 系統(tǒng)發(fā)行版本是 centos8,則執(zhí)行 ./nmon_x86_64_centos8 -x , 將開啟 nmon 的定時計劃執(zhí)行模式。如果后面不再添加任何參數(shù),默認(rèn)為 -s900 -c96 即:每隔 900 秒獲取一次數(shù)據(jù),總共執(zhí)行 96,也就是 24 小時,收集的數(shù)據(jù)結(jié)果采用標(biāo)準(zhǔn)輸出。
注意:該命令后面,不再加參數(shù),默認(rèn)執(zhí)行 24 小時。
另外,還可以使用 -X 參數(shù),這個參數(shù)默認(rèn)為 -s30 -c120 即:每隔 30 秒獲取一次數(shù)據(jù),總共執(zhí)行 120 次,也就是 1 個小時。收集的數(shù)據(jù)結(jié)果采用標(biāo)準(zhǔn)輸出
-z 用 root 賬戶運行,收集 1 天數(shù)據(jù),輸出到/var/perf/tmp 文件夾
結(jié)果查看??
標(biāo)準(zhǔn)輸出結(jié)果查看
nmon 的標(biāo)準(zhǔn)輸出結(jié)果文件為:主機名_年月日_時分。nmon 是一種文本數(shù)據(jù)文件,可以用文本編輯器打開,但是不便于閱讀,可以使用 nmon 的 analysis 工具打開。
在本地電腦上下載 nmon_analysis
http://nmon.sourceforge.net/pmwiki.php?n=Site.Nmon-Analyser
解壓 tar 包
從 Linux 服務(wù)器上,下載 nmon 的標(biāo)準(zhǔn)輸出文件到本地電腦
用 Microsoft Excel 打開解壓的"nmon analyser v*.xlsm" 文件,然后啟用宏

點擊 【Analyze nmon data】按鈕,選擇從服務(wù)器上下載的 nmon 文件,將會自動分析,生成一個 xlsx 的文件,保存,自動會用 Excel 打開,打開我們就能看到多個圖表。

技能提升
對于大多少數(shù)學(xué)習(xí)或使用過 nmon 的同學(xué),可能都只是掌握了上面這些,國內(nèi)的絕大多數(shù)的文章也就介紹上面這些技能,但是,Microsoft Excel 卻有一個致命缺陷,嚴(yán)重制約了這個工具的使用。
什么問題呢?
如果你使用 nmon 監(jiān)控的時間比較長,生成的 nmon 文件比較大,大幾兆,十幾兆,或幾十兆,你打開看看,肯定無響應(yīng),或者奔潰,有木有!
如果沒有的話,那你肯定沒有真正用過。
其實,nmon 的結(jié)果查看還有其他工具,可以去下載 nmonchar.tar ?文件,下載文件到 Linux 服務(wù)器上
# 下載???wget?http://sourceforge.net/projects/nmon/files/nmonchart40.tar
#解壓?? tar -xvf nmonchart40.tar?
# 進入解壓后的文件夾? ?cd nmonchart40
使用 nmonchar,分析監(jiān)控生成的 nmon 文件
./nmonchart 被分析的nmon文件.nmon 生成結(jié)果文件.html
#?注意:這個命令要能執(zhí)行,需要有ksh,centos可以使用 yum install ksh 命令安裝
下載生成的 HTML 文件到本地
是不是,就急著去用瀏覽器打開,打開看到了什么?

很尷尬是不是,什么都沒有,點擊上面的按鈕,也,沒什么用。
為什么呢?因為這個文件渲染用到 js,跑到外星去啦,相信你明白的,如果你能去外星走一遭,你就會看到

這個是不是比 Excel 的要好看些,重要的是不用再害怕文件太大,無法打開了。
好了,這種不對外講的技術(shù)都給大家講了,你學(xué)會了嗎?
文末答疑:
大家關(guān)于今天的內(nèi)容、或者是關(guān)于軟件測試的其他方面內(nèi)容,有疑惑的話,歡迎評論區(qū)留言啦,小編邀請了咱們檸檬班的大佬allen老師,為大家線上限時答疑~
聲明:本文為檸檬班Allen老師原創(chuàng),轉(zhuǎn)載請注明出處!