监视Linux服务器的性能
一、 安装启动
1.新建nmon目录
# mkdir -p /data/nmon
进入nmon目录中
# cd /data/nmon
2.上传nmon文件
rz上传nmon16g_x86.tar.gz
# rz
3. 解压nmon文件
# tar –zxvf nmon_linux_14i.tar.gz
4.赋予执行权限
# chmod +x nmon16g_x86_rhel72
到此时执行# ./nmon16g_x86_rhel72已可以启动nmon
5. 配置环境
为了启动更方便,使Nmon在当前操作系统环境中任何路径下都能运行,需要将nmon_x86_64_centos6文件移动到执行文件夹bin目录(环境变量目录)之下,并命名为nmon:
# mv nmon16g_x86_rhel72 /usr/local/bin/nmon
# nmon (在任何目录下执行nmon命令都可以启动nmon)
二、nmon实时监控
在完成配置启动nmon后,通过一些快捷键调取关心的系统资源指标进行显示,这些数据均是实时刷新,一目了然。如:
c ==> CPU:显示CPU利用率数据
m ==> Memory:显示内存数据
n ==> Network:显示网络信息
d ==> Disk:显示磁盘信息
t ==> Top Processes:系统的进程信息
h ==> Help:查看帮助信息
q ==> Quit:退出Nmon界面
三、Nmon后台监控
为了实时监控系统在一段时间内的使用情况并将结果记录下来,可以通过运行以下命令实现:
# nmon -s5 -c120 -f -m /data/nmon
-s5 每5秒采集一次数据
-c120 采集120次,即采集10分钟(120*5=600s=10min)的数据
-f 生成的数据文件名中,包含文件创建的时间
-m 生成数据文件的存放目录
2.采样开始后,会在生成监控文件,并持续写入资源数据,直至监控点收集完成,监控文件如下:
3.如果中途需要手动停止该监控,需要通过ps -ef|grep nmon
查询进程pid号,然后kill掉该进程以停止监控
# ps -ef|grep nmon
# kill -9 pid
四、Nmon数据分析
通过后台监控和定期监控,可以得到扩展名为nmon的监控文件,这些文件记录着系统资源的数据,需要配合分析工具(nmon analyser)进行解读。
将指定目录下生成的监控文件命令通过sz命令下载到本地
# sz elcndc2zlgl01t_210602_1443.nmon
2. 解压nmon分析工具nmon_analyzer_v61.zip,解压后双击打开nmon analyser v61.xlsm
3.点击界面上的Analyse nomn data按钮,将下载的下来的文件添加进去,会生成一个xlsm文件,内容如图所示:
双击下面链接可查看详细数据:
elcndc2zlgl01t_210602_1443.nmon.xlsx
4.注意事项
使用nmon analyzer处理nmod生成的文件的时候,提示"运行时错误 13 类型不匹配"
将系统右下角时间格式中的星期去掉即可
改为
五、Nmon分析指标解释
Nmon关键指标列表
关键指标类型 | 关键指标名称 | 关键指标含义 |
SYS_SUMM | CPU% | cpu占有率变化情况; |
IO/sec | IO的变化情况; | |
AAA | AIX | AIX版本号; |
cpus | CPU数量; | |
hardware | 被测主机处理器技术; | |
host | 被测主机名; | |
interval | 监控取样间隔;(秒) | |
kernel | 被测主机内核信息; | |
CPU_ALL | User% | 显示在用户模式下执行的程序所使用的 CPU 百分比; |
Sys% | 显示在内核模式下执行的程序所使用的 CPU 百分比; | |
Wait% | 显示等待 IO 所花的时间百分比; | |
Idle% | 显示 CPU 的空闲时间百分比; | |
CPU% | CPU总体占用情况; | |
DISKBUSY | Disk %Busy Hostname | 执行间隔时间列表; |
hdisknn | 每个磁盘执行采样数据;(磁盘设备的占用百分比) | |
DISK_SUMM | Disk total kb/s Hostname | 执行间隔时间列表; |
Disk Read kb/s | 每个磁盘执行采样数据;(磁盘设备的读速率) | |
Disk Write kb/s | 每个磁盘执行采样数据;(磁盘设备的写速率) | |
IO/sec | 每秒钟输出到物理磁盘的传输次数; | |
NET | read/write | 本sheet显示系统中每个网络适配器的数据传输速率(千字节/秒) |
JFSFILE | JFS Filespace %Used Hostname | 执行间隔时间列表; |
file system/LV | 文件系统以及mount磁盘设备已使用空间百分比; | |
JFSINODE | JFS Inode %Used Hostname | 执行间隔时间列表; |
file system/LV | 文件系统以及mount磁盘设备的inode已使用空间百分比; | |
MEM | Memory Hostname | 执行间隔时间列表; |
Real Free % | 实际剩余内存百分比; | |
Virtual free % | 虚拟剩余内存百分比; | |
Real free(MB) | 实际剩余内存大小;(MB) | |
Virtual free(MB) | 虚拟剩余内存大小;(MB) | |
Real total(MB) | 实际内存总体大小;(MB) | |
Virtual total(MB) | 虚拟内存总体大小;(MB) | |
PAGE | faults | 每秒的page faults(页错误)数; |
pgin | 每秒钟所读入的页数,包括从文件系统读取的页数 | |
pgout | 每秒钟所写出的页数,包括写到文件系统的页数 | |
pgsin | 每秒钟从页面空间所读取的页数 | |
pgsout | 每秒钟写到页面空间的页数 | |
reclaims | 从nmon回收这项之前的10个,和vmstat报告的值是一样的,代表了页替换机制释放的pages/sec的数量 | |
scans | 扫描页替换机制的pages/sec的数量,和vmstat报告的值是一样的,页替换在空闲页数量到达最小值时初始化,在空闲到达最大值时停止 | |
cycles | 周期 times/sec的数值,页替换机制需要扫描整个页表,来补充空闲列表。这和vmstat报告的cy数值一样,只是vmstat报告的这个值是整形值,而nmon报告的是实型值 | |
fsin | 分析器计算的数据为pgin-pgsin的图形处理所用 | |
fsout | 分析器计算的数据为pgout-pgsout的图形处理所用 | |
sr/fr | 分析器计算的数据为scans/reclaims的图形处理所用 |