通过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目录下执行命令)
安装成功显示以下界面:
实时监控
输入以下命令(不能放表格,只能截图了~)
各监控指标含义(核心)
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%。
2、内存
MemTotal:显示当前服务器物理内存大小。
MemFree:显示当前服务器的空闲内存大小。
Buffers:显示当前服务器Buffer(在内存中要写到磁盘上的)缓存的大小。注意,这里的数值仅是采集初期的静态值,具体Buffer的变化还需要看Sheet MEM。
Cached:显示当前服务器Cache缓存的大小(从磁盘读取到内存的)。这里的数值仅是采集初期的静态值,具体Buffer的变化还需要看Sheet MEM。
SwapCached:显示当前服务器Swap空间已缓存的大小,本服务器尚未使用到Swap空间。
SwapTotal:显示当前服务器Swap空间大小。
SwapFree:显示当前服务器Swap空闲空间大小。
3、带宽
带宽是100兆,但下载的速度才3MB/s是因为宽带提供商所说的100兆其实是100Mb,如果换算成常说的网速MB是需要除以8的,即1MB=8Mb。同理,1KB=1Kb。
4、磁盘的统计信息
此视图提供磁盘的统计信息。要显示此视图,请按 D 键。可按 D 下列次数以查看各种度量:
- 一次:显示磁盘数目
- 两次:显示磁盘描述
- 三次:显示服务时间
- 四次:显示磁盘统计信息以及类似按 d 键时所显示图形的图形
5、进程统计
进程视图提供有关系统中的进程的详细信息。要显示此视图,请按 t 或 v 键。它包含屏幕上显示的以下各列:
总结:监控这一方面如果是要后台一直监控的话我一般是用zabbix来做,看一段时间的实时监控用nmon,如果只是一次性统计出服务器资源情况会用shell脚本和python脚本来统计分析。
nmon是一个很好用的工具,对大家把握服务器整体情况是很有帮助的,有空的话可以试一下。上面的参数才是核心,也可以采集数据然后生成nmon报告,然后用excel去分析,这个是很多公司在做巡检都会用到的,有空的话也可以研究下,篇幅有限,今天就介绍到这啦!
后面会分享更多关于devops和DBA内容,感兴趣的朋友可以关注下~