Linux性能监控神器:深入nmon详解与使用

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 日志数据转换为图形报表。

nmon_analyser工具下载

常见使用示例

  1. 实时监控 CPU 和内存
    启动 nmon 后,按 cm 键分别查看 CPU 和内存的使用情况。

  2. 监控网络和磁盘 I/O
    启动 nmon 后,按 nd 键分别查看网络接口流量和磁盘 I/O 活动。

  3. 记录系统性能数据
    使用 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 系统的性能数据。通过它,你可以轻松了解系统的运行状态,并在性能出现瓶颈时快速定位问题。如果需要长期的性能监控或分析,它生成的日志文件也非常有用。

  • 14
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值