Linux下性能监测工具Nmon 的使用

Linux下性能监测工具Nmon 的使用

1. Nmon简介

Nmon(Nigel’s Performance Monitor)是一款用于监控Linux和AIX系统资源使用情况的工具。它能够实时展示CPU、内存、磁盘I/O、网络、进程等各项系统资源的使用情况,并可以将数据记录下来,以便进行进一步的分析。Nmon不仅功能强大,而且操作简单,非常适合系统管理员进行性能调优和问题排查。

2. Nmon的安装

大多数Linux发行版的包管理器中都包含Nmon,你可以通过以下命令安装它:

  • Debian/Ubuntu:

    sudo apt-get update
    sudo apt-get install nmon
    
  • Red Hat/CentOS/Fedora:

    sudo yum install epel-release
    sudo yum install nmon
    
  • SUSE:

    sudo zypper install nmon
    

安装完成后,在终端中输入 nmon 并回车,即可启动Nmon。

3. Nmon基本使用

启动Nmon后,屏幕会进入一个交互式界面,你可以通过按键盘上的字母来选择不同的监控选项。以下是Nmon的主要监控功能及对应的快捷键:

  • c - 查看CPU使用情况
  • m - 查看内存使用情况
  • d - 查看磁盘I/O
  • n - 查看网络I/O
  • k - 查看内核统计信息
  • t - 查看进程资源使用情况(类似Top)
  • v - 查看虚拟内存使用情况
  • q - 退出Nmon

按下相应的键后,你会看到相应的资源使用情况的实时数据,以下是几个典型的使用示例。

4. 典型使用示例
4.1 查看CPU使用情况

启动Nmon后,按 c 键可以查看系统所有CPU的使用情况。显示的内容包括每个CPU核心的用户模式使用率、系统模式使用率、等待时间和空闲时间。

示例输出:

CPU Utilisation
CPU  | User  | Sys  | Wait | Idle
---- | ----- | ---- | ---- | ----
CPU0 | 10.0% | 5.0% | 1.0% | 84.0%
CPU1 | 15.0% | 7.0% | 0.5% | 77.5%
4.2 查看内存使用情况

m 键可以查看内存的使用情况,包括总内存、已用内存、空闲内存等信息。Nmon还会显示内核缓存、缓冲区使用情况,帮助你分析内存分配。

示例输出:

Memory Usage
Total Memory:  16GB
Used Memory:   12GB
Free Memory:    4GB
4.3 查看磁盘I/O

d 键可以查看磁盘的读写操作(I/O)情况,帮助你了解磁盘的负载情况。Nmon会显示每个磁盘的读写速度、队列长度等指标。

示例输出:

Disk I/O
Disk     | Reads/sec | Writes/sec | Queue Length
-------- | --------- | ---------- | ------------
sda      |    120    |     80     |     0.5
sdb      |    200    |    150     |     1.0
4.4 查看网络I/O

n 键可以查看网络接口的流量情况。Nmon会显示每个网络接口的接收和发送的字节数,以及数据包的数量。

示例输出:

Network I/O
Interface | RX Packets | TX Packets | RX KB | TX KB
--------- | ---------- | ---------- | ----- | -----
eth0      |  123456    |   654321   |  3000 |  2000
4.5 查看进程资源使用情况

t 键可以查看当前系统进程的资源使用情况,类似于 top 命令的输出。你可以按CPU使用率、内存使用率等对进程进行排序。

示例输出:

Process Details
PID   | CPU% | MEM% | Command
------|------|------|---------
1234  | 20.0 |  5.0 | java
5678  | 10.0 |  2.5 | nginx
5. Nmon数据记录与分析

除了实时监控外,Nmon还可以将数据保存到文件中,供后续分析。可以使用以下命令来记录数据:

nmon -f -s <seconds> -c <count>
  • -f: 生成文件。
  • -s <seconds>: 每隔多少秒采样一次。
  • -c <count>: 采样的次数。

例如,每隔10秒采样一次,采样100次,并将结果保存到文件:

nmon -f -s 10 -c 100

Nmon会生成一个以当前日期和时间命名的.nmon文件。

5.1 Nmon数据分析

生成的.nmon文件可以使用Nmon Analyser等工具进行分析。Nmon Analyser是一个Excel插件,它可以将Nmon生成的文件转换为图表,帮助你更直观地分析系统性能。

你可以将生成的 .nmon 文件导入到Nmon Analyser中,自动生成图表,以便你分析资源的使用趋势、瓶颈和异常情况。

6. Nmon与Top的比较
  • 功能范围

    • Top: 主要用于实时监控系统中运行的进程及其资源使用情况(CPU、内存等),适用于快速查看系统负载和诊断问题。
    • Nmon: 提供了更加全面的系统监控功能,涵盖了CPU、内存、磁盘I/O、网络I/O、进程等多个方面,并支持数据记录和后续分析,适用于长期监控和性能调优。
  • 显示方式

    • Top: 显示简洁,以文本方式展示进程信息,支持排序、过滤和终止进程等交互操作。
    • Nmon: 提供字符图形化的资源使用视图,数据展示更加直观,并且可以以更灵活的方式查看不同的系统资源。
  • 用户场景

    • Top: 适合需要快速了解当前系统中进程情况的用户,特别是当系统负载突然增高时,可以迅速找出问题进程。
    • Nmon: 适合需要全面、长期监控系统性能的用户,特别是进行性能调优、资源趋势分析和生成报告的场景。
7. 高级功能与实战经验
7.1 使用Nmon进行长时间监控

在系统出现性能问题但无法立即定位原因时,Nmon可以用于长时间监控。通过设置合适的采样间隔和次数,可以捕捉到可能导致问题的资源使用峰值。

7.2 结合Nmon和其他工具

Nmon可以与其他性能分析工具结合使用,例如 sarvmstatiostat,以获得更加全面的系统性能概览。

7.3 使用脚本自动化监控

你可以编写脚本来定期运行Nmon,并将其生成的文件自动保存到指定位置,从而实现无人值守的系统性能监控。

总结

Nmon 是一款功能强大、灵活性高的系统性能监控工具,适合从初学者到高级用户的各种需求。通过Nmon,你可以实时监控系统的各项资源使用情况,并将数据记录下来进行深入分析。与Top相比,Nmon提供了更全面的监控能力,尤其适合系统性能调优和长时间监控场景。

在实际操作中,建议根据具体的监控需求选择合适的工具,如果需要快速查看和管理系统进程资源,Top可能更适合;如果需要全面监控和分析系统资源,Nmon 会是更好的选择。

包里面有下面文件,比较全,有很多版本的nmon,解压后,找到对应版本,如我用的红帽: tar xf nmon_linux_14i.tar.gz ;cp nmon_x86_64_rhel54 /usr/bin/nmon 然后即可使用nmon 17K nmonmerge_x86_64_debian6 22K nmonmerge_x86_64_sles11 14K nmonmerge_x86_debian6 14K nmonmerge_x86_GNU_2.0.0 18K nmonmerge_x86_GNU_2.6.15 19K nmonmerge_x86_GNU_2.6.24 14K nmonmerge_x86_puppy431 19K nmonmerge_x86_sles11 217K nmon_x86_64_centos6 223K nmon_x86_64_debian5 223K nmon_x86_64_debian6 287K nmon_x86_64_debian7 237K nmon_x86_64_fatdog64_601 276K nmon_x86_64_fedora17 282K nmon_x86_64_fedora18 286K nmon_x86_64_fedora19 287K nmon_x86_64_mint14 92 nmon_x86_64_mint14.info 350K nmon_x86_64_mint15 241K nmon_x86_64_opensuse12 221K nmon_x86_64_rhel54 235K nmon_x86_64_sles11 235K nmon_x86_64_sles11_oldest 257K nmon_x86_64_ubuntu1010 285K nmon_x86_64_ubuntu1110 350K nmon_x86_64_ubuntu13 235K nmon_x86_64_ubuntu6 235K nmon_x86_64_ubuntu7 283K nmon_x86_64_zorin6 195K nmon_x86_centos6 185K nmon_x86_debian5 185K nmon_x86_debian6 252K nmon_x86_debian7 183K nmon_x86_dsl 244K nmon_x86_fedora17 250K nmon_x86_fedora18 246K nmon_x86_fedora19 186K nmon_x86_GNU_2.0.0 211K nmon_x86_GNU_2.6.15 239K nmon_x86_GNU_2.6.24 185K nmon_x86_knoppix6 252K nmon_x86_knoppix7 294K nmon_x86_mint14 294K nmon_x86_mint15 215K nmon_x86_opensuse12 187K nmon_x86_puppy431 192K nmon_x86_sles11 192K nmon_x86_sles11_oldest 241K nmon_x86_ubuntu1110 294K nmon_x86_ubuntu13 192K nmon_x86_ubuntu6 192K nmon_x86_ubuntu7 239K nmon_x86_zorin6
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值