Linux性能监控nmon工具详解与使用
概述
nmon是一款轻量级、高效的Linux性能监控工具,可实时显示CPU、内存、磁盘I/O、网络等系统资源使用情况,特别适合长期性能监控。
nmon核心特点
| 特性 | 说明 |
|---|---|
| 实时监控 | 动态显示系统各项指标 |
| 资源开销低 | CPU占用和内存占用都很小 |
| 数据导出 | 支持导出为CSV文件,便于后续分析 |
| 界面友好 | 交互式菜单,易于上手 |
| 兼容性好 | 支持多种Linux发行版(包含国产系统-麒麟v10,open欧拉等) |
安装
Ubuntu/Debian
sudo apt-get install nmon
CentOS/RHEL/麒麟v10/open欧拉
yum install nmon
源码安装
访问:https://nmon.sourceforge.io/pmwiki.php

wget https://sourceforge.net/projects/nmon/files/nmon16o.tar.gz
tar xzf nmon16o.tar.gz
cd nmon
make
sudo cp nmon /usr/local/bin/
基本使用
交互模式(实时监控)
nmon

启动后进入交互式界面,按对应快捷键查看不同信息:
┌─ 主要快捷键 ─────────────────────┐
│ c: CPU信息 │
│ m: 内存信息 │
│ d: 磁盘I/O信息 │
│ n: 网络信息 │
│ t: 进程信息(top 5) │
│ k: 内核信息 │
│ h: 显示帮助 │
│ q: 退出程序 │
└─────────────────────────────────┘
命令行模式(后台采集)
# 采集数据,每10秒一次,共120次(20分钟)
nmon -f -s 10 -c 120
# 生成文件
-rw-r--r-- 1 root root 36112 1月12日 10:39 localhost_260112_1039.nmon
常用参数:
| 参数 | 说明 | 示例 |
|---|---|---|
-f |
输出文件模式 | nmon -f |
-s <秒> |
采样间隔 | nmon -s 5 |
-c <次数> |
采样次数 | nmon -c 100 |
-t |
显示进程信息 | nmon -f -t |
-d |
显示磁盘信息 | nmon -f -d |
-n |
显示网络信息 | nmon -f -n |
解读监控指标
CPU信息(c键)

CPU CPUS:4 [高效、用户、系统、等待时间]
CPU 0 26.7 8.2% 5.1% 3.2%
CPU 1 24.3 6.8% 4.5% 2.8%
- User%: 用户进程占用CPU百分比
- Sys%: 系统内核占用CPU百分比
- Wait%: 等待I/O的时间百分比(如过高说明I/O成为瓶颈)
内存信息(m键)

磁盘I/O(d键)
关键指标:
- read KB/s: 读取速度
- write KB/s: 写入速度
- I/O Operations: 每秒I/O操作次数

网络信息(n键)
- RxMB/s: 接收速率
- TxMB/s: 发送速率

分析日志文件
生成的 .nmon 日志文件可以使用 nmon_analyser 等工具进行分析。nmon_analyser 是一个 Excel 插件,可以将 .nmon 日志数据转换为图形报表。
工具下载:https://nmon.sourceforge.io/pmwiki.php?n=Site.Nmon-Analyser

打开此文件,导入*.nmon文件即可!
定时采集指标
使用方法:
通常与 cron 作业结合使用,以便定时启动 nmon 进行监控。
示例:
在 cron 中添加任务,每天 00:00 开始监控:
0 0 * * * /usr/bin/nmon -f -s 60 -c 1440
这将每天运行
nmon,每分钟采样一次,采样 1440 次(24 小时)。