0


Linux性能监控命令_nmon 安装与使用

1. 安装nmon

nmon官网

http://nmon.sourceforge.net/pmwiki.php?n=Site.Download

1.1. 下载 nmon 监控工具

  • 三种安装方法,选择其一即可

方法一:yum安装(推荐)

yum install nmon

方法二:官网下载二进制包(解压直接使用,但需要系统找到对应的版本)

http://nmon.sourceforge.net/pmwiki.php?n=Site.Download

  1. 官网列出了不同版本,选择合适的即可(我是x86,所以选择的第一个)

  1. 将包放入 Linux 下解压

  1. 根据系统使用合适的文件,我的是 X86_CentOS7,所以将 nmon_x86_64_centos7 修改为 nmon(方便记忆,后续使用懒得去找)

  • 注意:执行需要使用相对路径,或者绝对路径。若是想直接执行,移动到 /bin/ 下即可

方法三:官网下载源码包(使用gcc编译,不需要找对应系统)

http://nmon.sourceforge.net/pmwiki.php?n=Site.Download

x86:
gcc -o nmon_x86 lmon.c -g -O3 -Wall -lncurses -lm -D KERNEL_2_6_18 -D X86 -D RHEL7

arm:
gcc -o nmon_arm lmon.c -g -O3 -Wall -D JFS -D GETUSER -D LARGEMEM -lncurses -lm -D ARM
  1. 选择左上源码包超链接

  1. 下载第一个c文件即可

  1. 将 lmon16n.c 修改为 lmon.c 后,再使用 gcc 编译
gcc -o nmon_x86 lmon.c -g -O3 -Wall -lncurses -lm -D KERNEL_2_6_18 -D X86 -D RHEL7
    nmon_x86:表示编译后的文件名
    lmon.c  :表示源码包

  1. 编译失败,可能缺少依赖库
使用yum安装依赖库
yum install ncurses-devel
yum install ncurses-libs

  1. 重新编译(成功)
gcc -o nmon_x86 lmon.c -g -O3 -Wall -lncurses -lm -D KERNEL_2_6_18 -D X86 -D RHEL7

注意:执行需要使用相对路径,或者绝对路径。若是想直接执行,移动到 /bin/ 下即可

1.2. 下载 nmon 分析工具

http://nmon.sourceforge.net/pmwiki.php?n=Site.Download

  1. 点击左上角 nmon-Analyser 超链接

  1. 下载第一个即可

  1. 这个文件用于 windows ,将nmon文件转换为折线图。下载后直接解压会得到一个 xlsm 文件(nmon analyser v69_2.xlsm) ,使用 Excel 打开即可使用

  • Analyze nmon data 便是启动按钮,转换对应的 nmon 文件即可
  1. 点击按钮后无法使用

点击启动宏即可

再次尝试(成功)

2. nmon监控

2.1. 实时监控

nmon

交互命令:

h:帮助
q:退出

c:监控CPU利用率
m:监控内存使用情况
d:监控磁盘使用率
V:监控虚拟内存
n:监控网络
k:监控内核

r:显示操作系统信息
.:只显示忙碌的 disk/proc(top方式有效)
N:监控虚拟文件系统
j:监控文件系统
l:监控CPU利用率(折线图)
C:监控CPU利用率(宽视图)
U:监控CPU利用率(详细信息)

-:减少刷新时间间隔
+:增加刷新时间间隔

top方式(t 开启/关闭top模式)
1:按运行状态显示进程
3:按cpu使用率显示进程
4:按大小显示进程

① 监控CPU

交互命令:c

CPU  :显示单个cup状态
Avg  :显示每个cpu平均状态,也就是cpu的总利用率
User%:用户空间占用的cpu
Sys% :内核空间占用的cpu
Wait%:cpu 等待 IO 的占比(若该占比较高,硬盘可能存在 I/O 瓶颈)
Idle :空闲的cpu

视图说明:
左边部分按百分比显示
右边部分按折线图方式显示,0-100分别表示cpu利用率(u代表User,s代表Sys,w代表Wait)。可以根据颜色去看

② 监控内存

交互命令:m

PageSize    :页面大小
RAM-Memory  :物理内存
Swap-Space  :交换分区内存
High-Memory :高内存
Low-Memory  :低内存

Total       :总内存
Free        :剩余内存
Free Percent:剩余内存占比

Cached      :缓存的内存
Buffers     :缓冲区内存
Active      :活跃的的内存
Inactive    :不活跃的内存
Swapcached  :交换分区的缓存
Dirty       :脏数据
Writeback   :回写内存
Mapped      :映射内存

③ 监控磁盘

交互命令:d t

上部分显示磁盘使用情况(Write 后面为KB,表示单位为KB)
DiskName:磁盘名
Busy    :磁盘使用率
Read    :每秒读数据
Write   :每秒写数据

下部分显示进程的详细情况
%CPU    :cpu使用率
Size    :页面大小
Res Set :进程的实内存数据与实内存文本大小的和
Res Text:进程的实内存文本大小
Res Data:进程的实内存数据大小
Shared  :共享内存
Command :进程名称

④ 监控网络

交互命令:n

Name      :磁盘块
Recv      :每秒接收的数据
Trans     :每秒传输的数据
packin    :每秒接收到的包数
packout   :每秒发送的包数
insize    :每秒收到的包的平均大小
outsize   :上一时间间隔内发送的包平均大小
Peak->Recv:每秒接收的数据的峰值
Trans     :每秒发送的数据的峰值

注意:
这里说的每秒是指刷新时间必须为1秒
如果刷新时间为2秒,那么上述的值按每2秒计算

⑤ 监控文件系统

交互命令:j

Filesystem:系统文件
SizeMB    :文件系统总大小(单位:MB)
FreeMB    :剩余文件系统大小(单位:MB)
Use%      :文件系统使用占比
Type      :文件类型
MountPoint:挂载点

2.2. 后台监控

常用参数

-f:关闭交互模式, 将数据保存到本地目录中的CSV电子表格格式的.nmon文件
-s:指定间隔时间(单位:秒)
-c:指定收集次数
-F:指定保存的文件名
-p:指定监控某个PID
-t:统计包含top进程
-T:在输出中包括最繁忙的进程(保存为UARG部分)

指定文件名:收集5分钟数据,每次间隔一秒

nmon -f -c 300 -s 1 -F nmon_file/test.nmon # 文件必须以 .nmon 为后缀

不指定文件名:生成到当前路径下,以主机名和时间命名

nmon -f -c 10 -s 1

3. 图形报表解读

打开图形报表步骤

  1. 打开 nmon analyser v69_2.xlsm 文件
  2. 点击 Analyze nmon data 按钮
  3. 选择后台监控的文件,见目录 2.2
  4. 保存文件
sheet说明

SYS_SUMM :展示cpu和IO、开始时间、结束时间
AAA      :展示操作系统信息
BBBP     :命令的输出信息
DISK_SUMM:展示每秒磁盘读写和总读写大小
CPU_ALL  :展示cpu总体使用情况
CPU_SUMM :展示cpu单个使用情况
DISKBSIZE:展示磁盘的传输块大小
DISKBUSY :展示磁盘使用率
DISKREAD :展示磁盘读
DISKWRITE:展示磁盘写
DISKXFER :展示每秒IO
JFSFILE  :展示文件系统的使用占比
MEM      :展示剩余内存
NET      :展示网络的传输速率
NETPACKET:统计每个适配器网络读写包数量
PROC     :展示nmon内核内部的统计信息
VM       :分页和虚拟内存、文件备份分页(kbyes/sec)、交换支持的活动(kbyes/sec)
ZZZZ     :展示nmon统计的时间戳
CPU001   :展示单个cpu使用情况。001表示cpu0,002表示cpu1...

3.1. SYS_SUMM 展示cpu、IO

Samples:收集时间(单位:秒)
First  :开始时间
Last   :结束时间

User% :用户空间占用的cpu
Sys%  :内核空间占用的cpu
Wait% :cpu等待IO的占比(若该占比较高,硬盘可能存在 I/O 瓶颈)
Idle% :空闲的cpu
CPU%  :cpu总体占比

Avg disk tps during an interval :tps平均值
Max disk tps during an interval :tps最大值
Max disk tps interval time      :最大tps的时间戳
Total number of GBs read        :磁盘读取的总数(GBs表示单位为GB)
Total number of GBs written     :磁盘写入的总数(GBs表示单位为GB)
Read/Write Ratio                :读/写比率

  • 按时间显示CPU使用率和每秒传输次数(I/O)
  • CPU使用率见左轴
  • 每秒传输次数见右轴

3.2. CPU_ALL 展示cpu总体使用情况

User% :用户空间占用的cpu
Sys%  :内核空间占用的cpu
Wait% :cpu等待IO的占比(若该占比较高,硬盘可能存在 I/O 瓶颈)
Idle% :空闲的cpu
CPUs  :cpu进程核心数
CPU%  :cpu总体占比

  • 按时间显示每个CPU详细使用情况

3.3. CPU_SUMM 展示cpu单个使用情况

CPU_SUMM:cpu列表
User%   :用户空间占用的cpu
Sys%    :内核空间占用的cpu
Wait%   :cpu等待IO的占比(若该占比较高,硬盘可能存在 I/O 瓶颈)
Idle%   :空闲的cpu

  • 显示单个CPU整体使用情况

3.4. DISK_SUMM 展示每秒磁盘读写和总读写大小

Disk Read KB/s  :磁盘每秒读
Disk Write KB/s :磁盘每秒写
IO/sec          :磁盘每秒传输次数(I/O)

  • 按时间显示磁盘读写情况
  • 标题存有 KB/s 字样,但左轴有 “千” 字样,说明单位为 MB/s
  • 每秒磁盘读写见左轴
  • 每秒 I/O 次数见右轴

3.5. DISKBSIZE 展示磁盘的传输块大小

  • 显示每个磁盘最大、最小、平均值的传输块大小

  • 按时间段显示传输块大小

3.6. DISKBUSY 展示磁盘使用率

  • 显示监控时间内 每个磁盘最大、最小、平均使用率

  • 按时间显示磁盘使用率

3.7. DISKREAD 展示磁盘读

  • 按时间显示磁盘读
  • 标题处显示单位KB/s, 但左边有一个“千”字,表示一千KB,也就是MB

3.8. DISKWRITE 展示磁盘写

  • 按时间显示磁盘读
  • 标题处显示单位KB/s, 但左边有一个“千”字,表示一千KB,也就是MB

3.9. DISKXFER 展示每秒IO

  • 按时间显示磁盘I/O
  • 标题左边有一个“千”字,表示左轴的值乘以1000

3.10. JFSFILE 展示文件系统的使用占比

  • 显示监控时间内 每个文件系统最大、最小、平均使用率

3.11. MEM 展示剩余内存

memtotal  :物理内存总大小
swaptotal :交换分区总大小
memfree   :剩余物理内存大小
swapfree  :剩余交换分区内存大小
cached    :已占用的文件系统缓存大小
buffers   :文件系统缓冲区大小
swapcached:交换分区调用的内存大小
inactive  :最近不常使用的内存

  • 按时间显示内存剩余情况
  • 标题有“MB”字样,说明单位为:MB

  • 显示总内存大小,单位与上图一致

3.12. NET 展示网络的传输速率

  • Total-Read :每秒接收的数据包大小
  • Total-Write (-ve):每秒发送的数据包大小

3.13. NETPACKET 统计每个适配器网络读写包数量

  • 显示每个网络适配器读写包的数量

本文转载自: https://blog.csdn.net/m0_61066945/article/details/126799593
版权归原作者 〖羊头〗➫ lsy 所有, 如有侵权,请联系我们删除。

“Linux性能监控命令_nmon 安装与使用”的评论:

还没有评论