nmon 是 linux 下轻量、全面、易用的性能采集与分析工具,支持实时监控(如按 c/m/d/n/t 查看 cpu/内存/磁盘/网络/top 进程)和后台记录(如 nmon -f -s 5 -c 120 生成 .nmon 文件),配合 nmon_analyser 可生成含 summary、cpu_all、mem 等多页图表的 excel 报告,需注意版本匹配与权限设置。

快速启动实时监控
直接运行 nmon(多数发行版已预装或可通过 dnf install -y nmon 或 apt install -y nmon 安装),进入交互界面后按对应快捷键查看指标:
- c:CPU 使用率(用户态、内核态、等待 I/O、空闲)
- m:内存与交换空间使用(物理内存、swap、page in/out 速率)
- d:磁盘 I/O 实时读写量、繁忙度、响应时间
- n:网络接口收发字节数、包数、错误率
- t:TOP 进程(按 CPU/内存/IO 占用动态排序)
- h:查看所有快捷键说明;q:退出
后台采集性能数据文件
生产环境或压测中需保留历史数据,用记录模式将指标写入 .nmon 文件:
-
nmon -f -s 5 -c 120 -m /var/log/nmon表示:每 5 秒采样一次,共采 120 次(即 10 分钟),生成带时间戳的文件(如hostname_260730_0218.nmon),存到指定目录 -
-t可额外记录高资源占用进程,便于定位瓶颈进程 - 无需手动停止,
-c次数到达后自动结束;也可用ps aux | grep nmon+kill手动终止
用 nmon_analyser 生成分析报表
.nmon 文件是纯文本格式,需借助 Windows 上的 nmon_analyser(Excel 宏工具)转为图表报告:
- 从 IBM 社区或 SourceForge 下载最新版
nmon_analyser_vXX.xlsm - 将采集好的 .nmon 文件传到 Windows,用 Excel(启用宏)打开 analyser 文件
- 点击 Analyze nmon data → 选择 .nmon 文件 → 自动生成含多页图表的 .xlsx
- 关键页包括:Summary(概览)、CPU_ALL(各核负载趋势)、MEM(内存增长/swap抖动)、DISK_SUMM(磁盘吞吐与延迟)、NET(网卡饱和度)等
注意事项和实用技巧
nmon 易上手,但几个细节影响效果:
- 确保执行权限:若手动下载二进制,需
chmod +x nmon_x86_64_centos9等对应版本文件 - 版本匹配很重要:AlmaLinux/RHEL 9 选
nmon_x86_64_rhel9,Ubuntu 24.04 选nmon_x86_64_ubuntu24,避免报错或指标缺失 - 采集时长建议覆盖完整业务周期:例如压测 30 分钟,则设
-s 10 -c 180(3 小时数据更稳妥) - 避免与 top/vmstat 同时高频运行,虽 nmon 自身开销<2%,但叠加可能干扰观测











