通过nmon来实时监控服务器性能

概述

平时工作中很多压测都是用nmon来对服务器性能做监控,用dodba来监控mysql,实际上我主要用来看带宽实时变化和磁盘每秒的读写速度,今天分享下怎么去用nmon~


官网下载地址

官网下载路径:

https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Power%20Systems/page/nmon_analyser

输出报表分析工具官网下载地址

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

这里大家根据自己的操作系统选择自己的nmon


安装部署

很简单的几步,解压安装授权后就可以用了,主要是参数

1、 解压:

# unzip nmon.zip

2、 赋权限:

# chmod –R 755 nmon

3、 启动nmon:

# ./nmon_x86_64_ubuntu13(在nmon目录下执行命令)

通过nmon来实时监控服务器性能

安装成功显示以下界面:

通过nmon来实时监控服务器性能


实时监控

输入以下命令(不能放表格,只能截图了~)

通过nmon来实时监控服务器性能

通过nmon来实时监控服务器性能


各监控指标含义(核心)

1、Cpu使用率

分为三部分,系统、用户和等待,分别对应图中红色、蓝色和绿色部分。

Users%:显示采集间隔内所有CPU在User Mode下的Time占比(Avg、Max)。

Sys%:显示采集间隔内所有CPU在System Mode下的Time占比(Avg、Max)。

Wait%:显示采集间隔内所有CPU处于空闲且等待I/O完成的时间比例(Wait%是CPU空闲状态的一种,当CPU处于空闲状态而又有进程处于D状态(不可中断睡眠)时,系统会统计这时的时间,并计算到Wait%里),Wait%不是一个时间值,而是时间的比例,因此在同样I/O Wait时间下,服务器CPU越多,Wait%越低,它体现了I/O操作与计算操作之间的比例。对I/O密集型的应用来说一般Wait%较高,且Sheet PROC中Blocked也较高,这时需关注是什么导致了过多的进程等待。

Idle%:显示采集间隔内所有CPU处于空闲Time的占比(Avg、Max)。

CPU%:显示采集间隔内所有CPU的user%+system%。

通过nmon来实时监控服务器性能

2、内存

MemTotal:显示当前服务器物理内存大小。

MemFree:显示当前服务器的空闲内存大小。

Buffers:显示当前服务器Buffer(在内存中要写到磁盘上的)缓存的大小。注意,这里的数值仅是采集初期的静态值,具体Buffer的变化还需要看Sheet MEM。

Cached:显示当前服务器Cache缓存的大小(从磁盘读取到内存的)。这里的数值仅是采集初期的静态值,具体Buffer的变化还需要看Sheet MEM。

SwapCached:显示当前服务器Swap空间已缓存的大小,本服务器尚未使用到Swap空间。

SwapTotal:显示当前服务器Swap空间大小。

SwapFree:显示当前服务器Swap空闲空间大小。

通过nmon来实时监控服务器性能

通过nmon来实时监控服务器性能

3、带宽

带宽是100兆,但下载的速度才3MB/s是因为宽带提供商所说的100兆其实是100Mb,如果换算成常说的网速MB是需要除以8的,即1MB=8Mb。同理,1KB=1Kb。

通过nmon来实时监控服务器性能

通过nmon来实时监控服务器性能

4、磁盘的统计信息

此视图提供磁盘的统计信息。要显示此视图,请按 D 键。可按 D 下列次数以查看各种度量:

  • 一次:显示磁盘数目
  • 两次:显示磁盘描述
  • 三次:显示服务时间
  • 四次:显示磁盘统计信息以及类似按 d 键时所显示图形的图形

通过nmon来实时监控服务器性能

通过nmon来实时监控服务器性能

5、进程统计

进程视图提供有关系统中的进程的详细信息。要显示此视图,请按 tv 键。它包含屏幕上显示的以下各列:

通过nmon来实时监控服务器性能

通过nmon来实时监控服务器性能


总结:监控这一方面如果是要后台一直监控的话我一般是用zabbix来做,看一段时间的实时监控用nmon,如果只是一次性统计出服务器资源情况会用shell脚本和python脚本来统计分析。

nmon是一个很好用的工具,对大家把握服务器整体情况是很有帮助的,有空的话可以试一下。上面的参数才是核心,也可以采集数据然后生成nmon报告,然后用excel去分析,这个是很多公司在做巡检都会用到的,有空的话也可以研究下,篇幅有限,今天就介绍到这啦!

后面会分享更多关于devops和DBA内容,感兴趣的朋友可以关注下~

通过nmon来实时监控服务器性能

相关推荐