Nmon(Nigel's Performance Monitor)是一款轻量级的系统性能监控工具,主要用于 Linux/AIX 操作系统。它可以实时显示关键的性能指标,如 CPU 使用率、内存消耗、磁盘 I/O、网络带宽等,并支持将数据导出为文件进行后续分析。
以下是 Nmon 的详细教程介绍:
1. Nmon 的特点
- 轻量级:运行效率高,不会对被测系统造成明显性能影响。
- 实时监控:支持交互式界面,实时查看系统各项性能指标。
- 数据分析:可以将性能数据记录到文件中,使用工具(如 Excel 或 nmon_analyser)生成图表进行深入分析。
- 跨平台:支持多种 Linux 发行版和 AIX 操作系统。
2. 安装 Nmon
1) 在 Linux 上安装
-
基于 apt 的系统(如 Ubuntu、Debian):
sudo apt update sudo apt install nmon
-
基于 yum 的系统(如 CentOS、RHEL):
sudo yum install epel-release sudo yum install nmon
-
基于 dnf 的系统(如 Fedora):
sudo dnf install nmon
2) 在 AIX 系统上安装
AIX 自带 Nmon 工具,直接运行 nmon
即可。
3. 基本用法
1) 启动 Nmon
运行以下命令启动 Nmon:
nmon
启动后会进入交互式界面,按键触发不同的监控项。
2) 常用快捷键
- c:显示 CPU 使用率。
- m:显示内存使用情况。
- d:显示磁盘 I/O。
- n:显示网络 I/O。
- k:显示内核统计信息。
- t:显示进程统计信息。
- q:退出 Nmon。
3) 实时监控
- Nmon 默认使用交互式模式,按快捷键切换显示不同的性能指标。
- 可以同时查看多个性能指标,比如按
c
后按m
,同时查看 CPU 和内存使用情况。
4. 数据采集与保存
Nmon 支持将监控数据记录到文件,用于离线分析。
1) 采集数据
运行以下命令采集数据并保存到文件:
nmon -f -s <时间间隔> -c <采样次数>
- -f:保存为文件(
<主机名>_YYYYMMDD_HHMM.nmon
)。 - -s:采样间隔(秒)。
- -c:采样次数。
示例: 每 10 秒采样一次,总共采样 30 次:
nmon -f -s 10 -c 30
2) 分析数据
将生成的 .nmon
文件导入分析工具进行处理:
- nmon_analyser(Excel 插件):将数据可视化为图表。
- nmonchart:基于 Python 的可视化工具。
- Grafana + InfluxDB:将数据存入数据库并通过 Grafana 展示。
5. 常用场景
1) 服务器性能基线测试
- 运行 Nmon 采集正常工作状态下的性能数据,作为性能基线。
- 日后对比新数据,快速判断系统是否存在性能异常。
2) 系统性能排查
- 在高负载情况下启动 Nmon,实时查看 CPU、内存、磁盘和网络的利用率,快速定位性能瓶颈。
3) 应用负载测试监控
- 与性能测试工具(如 JMeter)结合使用,监控系统在高并发场景下的资源消耗。
6. 高级功能
1) 自定义监控项
通过 -h
参数查看 Nmon 的所有命令选项,选择需要的监控项。
2) 与其他工具结合
- 与 Crontab 结合:定时采集性能数据。
- 与脚本结合:定制自动化监控流程。
7. 示例操作
实时监控
nmon
按 c
显示 CPU 使用率,按 m
显示内存使用情况。
采集性能数据
采集 1 小时内每 60 秒的性能数据:
nmon -f -s 60 -c 60
生成可视化报告
- 下载 nmon_analyser(可通过 Google 搜索)。
- 将
.nmon
文件导入工具生成 Excel 图表。
总结
Nmon 是一款高效、灵活的系统性能监控工具,既能满足实时监控需求,又能通过离线分析工具对系统性能进行深入评估。通过与自动化脚本和分析工具结合,可以轻松覆盖从实时监控到数据分析的完整流程。