nmon 是一款在 Linux 系统上广泛使用的性能监控工具,由 IBM 开发。它提供了对系统资源的实时监控,包括 CPU、内存、网络、磁盘 I/O 等。nmon 的优势在于它能够以直观的文本界面显示系统性能数据,并支持生成性能数据的日志文件,供后续分析使用。
安装 nmon
-
Debian/Ubuntu
sudo apt-get install nmon -
RHEL/CentOS
sudo yum install nmon
启动 nmon
启动 nmon 非常简单,只需在终端输入以下命令:
nmon
启动后,nmon 将显示一个界面,提供多种性能监控选项。可以使用键盘按键选择你想要监控的系统资源。
1. 交互模式
nmon 使用键盘快捷键来切换和查看不同的系统性能指标。以下是常用的按键和其功能:
c- 查看 CPU 使用情况,显示每个 CPU 核心的使用率。m- 查看 内存 使用情况,包括物理内存、虚拟内存和交换区的使用率。d- 查看 磁盘 I/O 情况,包括读写速率和每个磁盘设备的 I/O 使用情况。n- 查看 网络 统计数据,显示网络接口的传入和传出流量。k- 查看 内核 相关信息,如上下文切换、进程切换等。t- 查看 Top 进程 列表,类似于top命令,显示当前最耗资源的进程。v- 查看 虚拟内存 使用情况。r- 查看 资源 使用情况,包括 CPU 负载平均值、进程统计等。q- 退出nmon。
生成性能日志文件
如果需要记录系统性能数据以供后续分析,可以使用 nmon 的日志功能。执行以下命令启动 nmon 并生成日志文件:
nmon -f -s <interval> -c <count>
- -f: 启用日志文件输出,默认生成以日期和主机名命名的
.nmon文件。 - -s : 设置采样时间间隔,以秒为单位。
- -c : 设置采样次数。
例如,以下命令每 10 秒记录一次性能数据,总共记录 100 次:
nmon -f -s 10 -c 100
分析日志文件
生成的 .nmon 日志文件可以使用 nmon_analyser 等工具进行分析。nmon_analyser 是一个 Excel 插件,可以将 .nmon 日志数据转换为图形报表。
常见使用示例
-
实时监控 CPU 和内存:
启动nmon后,按c和m键分别查看 CPU 和内存的使用情况。 -
监控网络和磁盘 I/O:
启动nmon后,按n和d键分别查看网络接口流量和磁盘 I/O 活动。 -
记录系统性能数据:
使用nmon -f -s 5 -c 120命令每 5 秒记录一次数据,持续 10 分钟。
交互模式 是 nmon 的默认模式,也是最常用的模式。在这个模式下,nmon 直接在终端显示系统性能信息,并允许用户通过键盘输入来选择要监控的资源。
2. 数据收集模式(批处理模式)
数据收集模式 是 nmon 的一种非交互模式,用于将系统性能数据记录到一个文件中,便于后续分析。
使用方法:
nmon -f -s <interval> -c <count>
-f:启用日志文件输出。默认生成一个以日期和主机名命名的.nmon文件。-s <interval>:设置采样时间间隔(秒)。-c <count>:设置采样次数。
示例:
nmon -f -s 10 -c 60
这将每 10 秒采样一次,总共采样 60 次,并将数据保存到一个 .nmon 文件中。
场景:
适用于需要长时间监控并记录系统性能数据,以便后续通过工具(如 nmon_analyser)进行分析的情况。
3. 守护进程模式
守护进程模式 允许 nmon 在后台运行,同时持续监控系统性能,并将数据保存到文件中。
使用方法:
nmon -f -s <interval> -c <count> &
&:将nmon进程放入后台运行。
示例:
nmon -f -s 30 -c 2880 &
这将 nmon 放入后台,每 30 秒采样一次,采样 2880 次(24 小时)。
场景:
适用于不希望 nmon 占用前台终端,但仍希望它持续监控系统的情况。
4. 配置文件模式
配置文件模式 允许用户预先定义需要监控的系统资源,并以此配置文件为依据启动 nmon。这使得批量监控不同系统时更加灵活和自动化。
使用方法:
首先,创建一个配置文件(如 nmon_config.txt),内容包括所需监控的资源(如 c, m, d, n),然后启动 nmon:
nmon -f -s <interval> -c <count> -C <config_file>
-C <config_file>:指定配置文件路径。
示例:
假设 nmon_config.txt 文件内容如下:
c
m
n
d
启动命令为:
nmon -f -s 15 -c 240 -C nmon_config.txt
这将根据配置文件每 15 秒采样一次,采样 240 次。
场景:
适用于批量部署或自动化脚本中,需要预定义监控配置的场景。
5. 在线分析模式
在线分析模式 是 nmon 的一种特殊模式,通常结合 Web 界面或其他图形化工具来实时查看性能数据。
使用方法:
nmon 本身没有直接的图形化界面,但你可以将 nmon 生成的数据通过其他工具(如 nmonchart, nmon_visualizer 等)实时或事后展示。
6. 无人值守模式
无人值守模式 通常与数据收集模式类似,但其重点在于长时间运行监控,并可能结合脚本进行自动化管理和报警。
使用方法:
通常与 cron 作业结合使用,以便定时启动 nmon 进行监控。
示例:
在 cron 中添加任务,每天 00:00 开始监控:
0 0 * * * /usr/bin/nmon -f -s 60 -c 1440
这将每天运行 nmon,每分钟采样一次,采样 1440 次(24 小时)。
场景:
适用于需要长期、无人值守的系统性能监控,并可能通过脚本自动处理和分析数据。
总结
nmon 是一个功能强大且轻量级的工具,适合用来实时监控和记录 Linux 系统的性能数据。通过它,你可以轻松了解系统的运行状态,并在性能出现瓶颈时快速定位问题。如果需要长期的性能监控或分析,它生成的日志文件也非常有用。
9437

被折叠的 条评论
为什么被折叠?



