Linxu下性能指標采集工具之nmon工具的使用
前言
近期在測試JefLogTail,由于JefLogTail使用的是輪詢的方式來監(jiān)聽文件夾,所以對cpu的消耗可能會高一些,所以在測試的時候著重關(guān)注CPU,Linux下查看CPU信息一般采用top命令來實時觀察,但是這種對于只是通過觀察數(shù)據(jù)的變化來評估cpu的實時情況顯然不太科學。如果想要通過圖標的形式來表現(xiàn)則需要借助一些外部工具,今天就來講解一下nmon工具的使用。
nmon工具下載
官方下載地址:nmon.sourceforge.net/pmwiki.php?…需要根據(jù)自己的Linux主機版本來下載對應的版本,筆者這里下載的是nmon16m_helpsystems.tar.gz,下載完成后在linux主機上解壓后,會出現(xiàn)很多版本,選擇對應的版本運行即可。 筆者的主機配置為:
Linux version 3.10.0-514.el7.x86_64 (mockbuild@x86-039.build.eng.bos.redhat.com) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) ) #1 SMP Wed Oct 19 11:24:13 EDT 2016
nmon對應筆者主機的版本為:
nmon_x86_64_rhel7
執(zhí)行./nmon_x86_64_rhel7,如果成功則會展示如下界面:

使用示例:
根據(jù)提示輸入C,展示的為CPU的各項指標
輸入M,展示的為內(nèi)存的各項指標
輸入d,展示的為磁盤的各項指標等等
nmon使用擴展
nmon不僅可以實時監(jiān)聽,還提供命令監(jiān)聽,并寫入到文件,最后通過excel來展示圖形化的界面。
使用如下命令可監(jiān)聽系統(tǒng)的各項指標。并匯總文件中。
./nmon_x86_64_rhel7 -ft -s 1000 -c 60 -m?/test_path
命令參數(shù)說明:
-f 監(jiān)控結(jié)果以文件形式輸出,默認機器名+日期.nmon格式 (YYYYMMDD_HHMM.nmon)
-F 指定輸出的文件名,比如test.nmon
-s 指的是采樣的頻率,單位為毫秒
-c 指的是采樣的次數(shù),即以上面的采樣頻率采集多少次
-m 指定生成的文件目錄
上述命令的意思為:每1秒鐘采集一次,共采集60秒,并且將生成的文件保存到根目錄下的test_path文件夾下。執(zhí)行完該命令后,在/test_path下就會生成一個名為:localhost_230426_1359.nmon的文件。
.nmon文件解析
文件解析需要下載官方的解析工具,這個工具不需要安裝,只是一個excel宏命令文件,所以可以放心下載。 地址:nmon.sourceforge.net/pmwiki.php?…

下載完成后,解壓打開nmon analyser v66.xlsm文件,點擊Analyze nmon data按鈕,如果此時報錯,提示類似“無法運行xxxx宏可能是因為該宏在此工作簿中不可用,或者所有宏都被禁用”,需要配置一下excel宏,配置路徑:文件=》選項=》信任中心=》信任中心設置=》宏設置,勾選啟用所有宏。設置完畢重啟即可。之后按照提示傻瓜式操作。

解析之后的圖形化excel

# 啟動指令
monitor_system_start () {
# 頻率默認為1000ms采集一次
frequency=1000
# 采樣次數(shù)默認為60次
count=60
# 默認保存路徑
save_path='/home/xxx/tools/nmonData/'
if [ "$1" != "" ]; then
frequency=$1
fi
if [ "$2" != "" ]; then
count=$2
fi
if [ "$3" != "" ]; then
save_path=$3
fi
commond='/home/xxx/tools/nmonData/tools/nmon/nmon_x86_64_rhel7 -ft -s '$frequency' -c '$count' -m '$save_path
$commond
echo "start success"
}
# 強制停止指令
monitor_system_stop () {
commond="ps -ef | grep nmon_x86_64_rhel7 | grep -nv 'grep' | awk -F ' *' '{print $"2"}'"
pid=`eval $commond`
echo $pid
kill -9 $pid
echo "stop success PID="$pid
}
command_array=("monsysstop" "monsysstart")
if [ $# -lt 1 ]; then
echo "請明確指令:"
length=${#command_array[@]}
for ((i=0;i<$length; i++));
do
echo ${command_array[$i]}
done
exit
else
if [[ $1 == 'monsysstart' || $1 == '-monsysstart' || $1 == "MONSYSSTART" ]]
then
monitor_system_start $2 $3 $4
elif [[ $1 == 'monsysstop' || $1 == '-monsysstop' || $1 == "MONSYSSTOP" ]]
then
monitor_system_stop使用方式:
1、默認啟動
sh xxx.sh monsysstart
2、自定義參數(shù)啟動
sh xxx.sh monsysstart 1000 60 /test_path
3、強行停止(正常執(zhí)行完指定的采集次數(shù)后會自動停止,一般不需要強行停止):
sh xxx.sh monsysstop
到此這篇關(guān)于Linxu下性能指標采集工具之nmon工具的使用的文章就介紹到這了,更多相關(guān)Linxu nmon工具的使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Apache搭建http服務器實現(xiàn)CGI功能
專門處理 HTTP 請求的服務器,也被稱為 Web 服務器, 常用的 Web 服務器有 Apache和 Nginx ,當然幾大巨頭五聯(lián)網(wǎng)公司也都有其獨自研發(fā)的 Web 服務器,比如阿里巴巴的Tengine, 這篇文章主要介紹了使用Apache搭建http服務器,實現(xiàn)CGI,需要的朋友可以參考下2024-07-07
Linux中 CentOS 6.5 手動升級gcc到gcc-6.1.0
這篇文章主要介紹了Linux中 CentOS 6.5 手動升級gcc到gcc-6.1.0的相關(guān)資料,非常不錯具有參考借鑒價值,需要的朋友可以參考下2016-10-10

