服务器性能监控分析工具Nmon__知乎粘来的,为了给自己做个记录,以后查找方便
1.Nmon是什么
nmon(Network Monitor)是一个性能监视工具,最初由IBM的Nigel Griffiths开发。它主要用于在UNIX和Linux系统上实时监视系统性能和资源利用率。nmon可以提供有关CPU使用率、内存使用情况、磁盘活动、网络流量等系统性能指标的详细信息。
nmon以交互式的方式运行,通过终端界面显示实时数据,同时也支持将数据保存到文件中以供后续分析。该工具可以帮助系统管理员、性能分析师和其他用户深入了解系统的运行状况,从而更好地优化和调整系统性能。
nmon还支持在AIX、Linux和其他UNIX平台上运行,因此它是一个跨平台的工具,适用于多种操作系统环境。使用nmon需要一定的命令行技能,但它提供了丰富的性能指标和图形化界面,使用户能够快速了解系统的状态。nmon 监控的主要性能指标:
CPU 使用率: 显示各个 CPU 核心的使用率以及总体 CPU 使用情况。
内存使用情况: 提供物理内存和虚拟内存的使用情况,包括空闲内存、已使用内存、缓存等。
磁盘 I/O 统计: 显示磁盘读写速率、I/O 请求、磁盘队列长度等信息,帮助分析磁盘性能。
文件系统信息: 提供文件系统的空间使用情况,包括每个挂载点的使用率和可用空间。
网络流量: 显示网络接口的流入和流出速率,以及错误、丢包等统计信息。
系统负载: 提供系统的负载平均值,即在过去 1、5、15 分钟内的平均活跃进程数。
进程信息: 列出当前运行的进程,并显示它们的 CPU 使用率、内存占用等信息。
虚拟内存和交换空间: 显示虚拟内存的使用情况,包括交换空间的使用情况。
CPU 频率和温度: 在支持的系统上,nmon 可以显示 CPU 的工作频率和温度信息。
GPU 监控(在支持的系统上): 提供 GPU 使用率、温度和其他相关信息。
其他系统信息: 包括系统启动时间、系统版本、系统架构等。
2.如何获取Nmon
nmon 工具通常在大多数 Linux 系统的软件仓库中都是可用的,你可以使用系统包管理器来安装它。以下是一些常见的 Linux 发行版的安装方法:
Ubuntu/Debian
sudo apt-get update
sudo apt-get install nmon
Red Hat/CentOS
sudo yum install nmon
Fedora
sudo dnf install nmon
openSUSE
sudo zypper install nmon
Arch Linux
sudo pacman -S nmon
安装完成后,你可以在命令行中直接运行 nmon
来启动 nmon 工具。在 nmon 的交互式界面中,你可以使用不同的键盘快捷键来切换显示不同的性能指标,以及保存数据等操作。详细的使用说明可以在 nmon 的文档或帮助信息中找到。
请注意,对于一些特殊的系统,你可能需要从 nmon 官方网站或其他适用的资源获取安装包,然后按照其提供的说明进行手动安装。
3.如何使用Nmon
交互式查看监控信息
Nmon支持交互式查看,直接执行nmon即可进入监控窗口 ,监控界面的显示如下图

常用命令包括:
c 显示CPU信息
m 显示内存信息
n 显示网络信息
d 显示磁盘读写信息
t 显示占用率较高的进程
假如我们使用 m 来显示内存信息,其界面如下图所示:
命令行运行收集监控信息
我们在使用过程中经常遇到需要收集当前的机器状态,以便以后拿来分析主机的各资源使用情况,这时候我们就需要使用命令行来收集信息。
Nmon支持的各参数描述如下:
-s: 指定数据采集的时间间隔,例如 nmon -s 2 表示每隔 2 秒采集一次数据
-c: 指定采集的样本数量,结合-s即可计算出采集数据的时间段时长
-m: 切换到哪个路径保存日志文件
-f: 用于指定数据文件的名称,例如 nmon -f nmon_data.nmon
-h: 显示 nmon 的帮助信息
4.收集的数据如何使用
这就引入了我们的分析工具Nmon Analyser,Nmon Analyser是一个专门用于分析和可视化 nmon 监控数据的工具,提供了一个图形用户界面,可以加载 nmon 数据文件并以图表和表格的形式显示性能指标。用户可以通过直观的图形化界面轻松地查看系统的 CPU 使用率、内存使用情况、磁盘 I/O、网络流量等信息,以及在不同时间段内这些指标的变化趋势。
Nmon Analyser工具的界面如下图所示:
点击Analyze nmon data按钮后,会弹出一个文件选择对话框,我们选中之前记录的nmon文件即可。
这里需要注意的是,笔者在普通权限下执行没成功,excel出现了一直转圈的现象,解决方式是使用管理员权限打开excel,再打开这个nmon analyser工具,之后选中nmon数据文件,数据分析正常。
5.数据分析结果
系统汇总页面:对应标签页(SYS_SUMM)
页面显示项主要有主机名,执行日期,系统cpu使用情况,系统I/O情况。
系统信息:标签页(AAA)
页面信息主要包括:执行命令,主机CPU数(4),操作系统内核版本信息,主机名等信息。
系统详细信息:标签页(BBBP)
页面信息主要包括:操作系统版本,主机磁盘信息,主机CPU型号、主频信息,内存信息,网卡信息等。
磁盘读写情况汇总:标签页(DISK_SUMM,DISKBSIZE,DISKBUSY,DISKREAD,DISKWRITE,DISKXFER)
磁盘的读、写及I/O统计信息,系统各磁盘分区的读写情况。其中DISKBUSY页主要反映系统本地磁盘使用,DISK_SUMM包括本地和存储(ESS, EMC, FASt及HDS)上所有磁盘使用情况。
CPU使用情况:标签页(LPAR,CPU_ALL,CPU_SUMM,CPU001,CPU002,CPU003,CPU004…)
主机CPU使用情况汇总以及单颗CPU的运行情况。
内存使用情况:标签页(MEM)
系统内存空闲、使用,swap、cached等统计信息。
系统网络情况:标签页(NET,NETPACKET)
反映系统的网络运行情况,系统各个网络适配器读写的数据包数
系统进程:标签页(PROC)
反映系统运行线程及等待切换的线程平均数。其中RunQueue - 每个处理器应该运行队列不超过1-3个线程。
页式调度:标签页(PAGE)
记录系统(AIX)页式调度的情况。这一栏主要记录系统换页(paging)情况和虚拟内存使用情况。
采集时间:标签页(ZZZZ)
记录nmon工具采集系统信息的时间点。
6.小结
在系统使用过程中,或软件运行过程中,可以使用Nmon工具来记录系统内各个资源的使用情况,从而分析出系统的瓶颈,以更好的提升主机性能。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类
2019-03-27 python初学