文章目錄
概述
在性能測試過程中,需要對服務端的各項資源使用情況進行監控。
nmon簡介
nmon是一種在AIX與各種Linux操作系統上廣泛使用的監控與分析工具,它能在系統運行過程中實時地捕捉系統資源的使用情況,記錄的信息比較全面,
並且能輸出結果到文件中,然後通過nmon_analyzer工具產生數據文件與圖形化結果。
nmon可監控的數據類型
- 內存使用情況
- 磁盤適配器
- 文件系統中的可用空間
- CPU使用率
- 頁面空間和頁面速度
- 異步I/O,僅適用於AIX
- 網絡文件系統(NFS)
- 磁盤I/O速度和讀寫比率
- 服務器詳細信息和資源
- 內核統計信息
- 消耗資源最多的進程
- 運行隊列信息
nmon監控工具的特點
- 佔用系統資源少(一般不到2%)
- 功能強大(監控數據類型全面)
安裝nmon
查看操作系統信息
[root@aliyun ~]# uname -a
Linux aliyun 3.10.0-514.26.2.el7.x86_64 #1 SMP Tue Jul 4 15:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
查看需要被監控服務器的Linux發行版本
[root@aliyun ~]# lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.7.1908 (Core)
Release: 7.7.1908
Codename: Core
可以看到操作系統爲64位,Linux發行版本爲CentOS7.7
下載nmon
手動下載nmon上傳至服務器
去這個官方下載地址下載
選擇第一個進行下載即可
然後解壓縮,選擇合適版本,上傳到Linux服務器
➜ 下載 mkdir nmon
➜ 下載 tar -xzvf nmon16m_helpsystems.tar.gz -C nmon
nmon_power_64_centos6
nmon_power_64_centos7
nmon_power_64_linux
nmon_power_64_rhel6
nmon_power_64_rhel7
nmon_power_64_sles11
nmon_power_64le_centos7
nmon_power_64le_centos8
nmon_power_64le_linux
nmon_power_64le_rhel7
nmon_power_64le_rhel7_gpu
nmon_power_64le_rhel8
nmon_power_64le_sles12
nmon_power_64le_ubuntu14
nmon_power_64le_ubuntu16
nmon_power_64le_ubuntu18
nmon_x86_64_centos5
nmon_x86_64_centos6
nmon_x86_64_centos7
nmon_x86_64_centos8
nmon_x86_64_debian08
nmon_x86_64_debian09
nmon_x86_64_debian10
nmon_x86_64_mint18
nmon_x86_64_mint19
nmon_x86_64_oel5
nmon_x86_64_oel6
nmon_x86_64_oel7
nmon_x86_64_oel8
nmon_x86_64_opensuse10
nmon_x86_64_opensuse11
nmon_x86_64_opensuse12
nmon_x86_64_opensuse15
nmon_x86_64_rhel5
nmon_x86_64_rhel6
nmon_x86_64_rhel7
nmon_x86_64_rhel8
nmon_x86_64_sles10
nmon_x86_64_sles11
nmon_x86_64_sles12
nmon_x86_64_sles15
nmon_x86_64_ubuntu14
nmon_x86_64_ubuntu16
nmon_x86_64_ubuntu18
nmon_x86_64_ubuntu19
➜ 下載 cd nmon
➜ nmon ls
nmon_power_64_centos6 nmon_power_64_linux nmon_x86_64_mint19 nmon_x86_64_rhel8
nmon_power_64_centos7 nmon_power_64_rhel6 nmon_x86_64_oel5 nmon_x86_64_sles10
nmon_power_64le_centos7 nmon_power_64_rhel7 nmon_x86_64_oel6 nmon_x86_64_sles11
nmon_power_64le_centos8 nmon_power_64_sles11 nmon_x86_64_oel7 nmon_x86_64_sles12
nmon_power_64le_linux nmon_x86_64_centos5 nmon_x86_64_oel8 nmon_x86_64_sles15
nmon_power_64le_rhel7 nmon_x86_64_centos6 nmon_x86_64_opensuse10 nmon_x86_64_ubuntu14
nmon_power_64le_rhel7_gpu nmon_x86_64_centos7 nmon_x86_64_opensuse11 nmon_x86_64_ubuntu16
nmon_power_64le_rhel8 nmon_x86_64_centos8 nmon_x86_64_opensuse12 nmon_x86_64_ubuntu18
nmon_power_64le_sles12 nmon_x86_64_debian08 nmon_x86_64_opensuse15 nmon_x86_64_ubuntu19
nmon_power_64le_ubuntu14 nmon_x86_64_debian09 nmon_x86_64_rhel5
nmon_power_64le_ubuntu16 nmon_x86_64_debian10 nmon_x86_64_rhel6
nmon_power_64le_ubuntu18 nmon_x86_64_mint18 nmon_x86_64_rhel7
➜ nmon
然後只要把nmon_x86_64_centos7
這一個文件上傳到服務器就可以了。
命令行方式直接在服務器上通過wget
下載
wget http://sourceforge.net/projects/nmon/files/nmon16m_helpsystems.tar.gz
然後還是跟上邊步驟一樣,最後選擇nmon_x86_64_centos7
這個版本的文件即可。
安裝nmon
# 改名
mv nmon_x86_64_centos7 nmon
# 給工具授權
chmod 777 nmon_x86_64_centos7
運行nmon
完成上面的操作後,執行 ./nmon 命令,出現如下界面,說明安裝成功:
常用快捷命令說明
# c
查看CPU相關信息
# m
查看內存相關信息
# d
查看磁盤相關信息
# n
查看網絡相關信息
# t
查看相關進程信息
# h
查看幫助相關信息
通過nmon採集服務器的性能數據
nmon通過命令行啓動監控,捕獲服務器的各項數據,命令如下
./nmon -ft -s 10 -c 60 -m /root/nmon
# 參數說明
-f 監控結果以文件形式輸出,默認機器名+日期.nmon格式
-F 指定輸出的文件名,比如test.nmon
-s 指的是採樣的頻率,單位爲毫秒
-c 指的是採樣的次數,即以上面的採樣頻率採集多少次
-m 指定生成的文件目錄
- 一般來說不建議對穩定性測試使用nmon監控,因爲生成的nmon文件超過10M時,分析工具會由於內存不足導致報錯。
- 如果必須進行的話,建議加大采樣頻次(比如60s,這樣的話即使採集次數爲60次,也都已經採集了一個小時的服務器性能數據了),降低採樣次數(低於330次)。
監控結果分析
nmon監控捕獲的信息(也就是生成的.nmon文件),可以用nmonchart來進行分析。
下載nmonchart
wget http://sourceforge.net/projects/nmon/files/nmonchart39.tar
mkdir nmonchart
tar -xf nmonchart39.tar -C nmonchart/
cd nmonchart
➜ nmonchart ll
總用量 3.9M
-rwx------ 1 mi mi 45K 11月 20 2019 nmonchart
-rwx------ 1 mi mi 1.6K 11月 20 2019 nmonchart_cron
-rw------- 1 mi mi 109 11月 20 2019 nmonchart_license
-rwx------ 1 mi mi 2.2K 11月 20 2019 nmon_upload.php
-rw------- 1 mi mi 17K 11月 20 2019 README
-rw------- 1 mi mi 197K 11月 20 2019 sampleC.html
-rw------- 1 mi mi 468K 11月 20 2019 sampleC.nmon
-rw------- 1 mi mi 828K 11月 20 2019 sampleD.html
-rw------- 1 mi mi 2.4M 11月 20 2019 sampleD.nmon
如上所示nmonchart
就是用來解析xxx.nmon
文件的,首先要給nmonchart
授予可執行權限
# 授權
chmod 777 nmonchart
# 解析c3-dp-staging02_200603_1927.nmon文件數據
./nmonchart c3-dp-staging02_200603_1927.nmon
執行上邊命令將會在當前目錄下生成一個已解析完成的c3-dp-staging02_200603_1927.html
HTML文件。
然後我們雙擊打開這個HTML文件就可以看到已經解析成功的數據了。
具體指標參數說明參考官方文檔最下邊的Summary of the graphs(圖形摘要)說明
最後,我這邊提供了一個解析完成的HTML文件,可以直接在線進行查看。點我查看