开始新对话

未解决

此帖子已超过 5 年

3286

2012年10月9日 23:00

Linux/AIX系统实用监控命令详解

Linux/AIX系统实用监控命令详解

转载请在文首保留原文出处:EMC中文支持论坛

介绍

Linux/UNIX系统提供了一些有用的监控命令如:iostatvmstatpssar,通过它们系统管理员可以方便地监测系统资源是否平衡并解决性能问题。本文阐述了这些命令的使用方法,并以AIX系统为例附加应用实例。为Linux/AIX系统管理员提供参考。

更多信息

iostat

iostat命令主要通过物理磁盘的活跃时间及它们的平均传输速度,监控系统输入/输出设备负载。根据iostat命令产生的报告,用户可确定一个系统配置是否平衡,并据此在物理磁盘与适配器之间更好的平衡输入/输出负载,从而在用户注意到服务器运行缓慢之前提早发现输入/输出缓慢的问题。

iostat工具的主要目的是通过监控磁盘的利用率(tm_act字段),检测系统的I/O瓶颈。此外,还可用于确定CPU问题,辅助容量规划。vmstatiostat联合使用,可获得与CPU,内存和I/O子系统有关的性能问题的必需数据。

下图是AIX系统iostat命令输出:

iostat.jpg

iostat命令可产生如下四种类型的报告:

·         ttyCPU利用情况

·         磁盘利用情况

·         系统吞吐率

·         适配器吞吐率

% tm_act物理磁盘活动的时间百分比

Kbps某块磁盘传输数据的总量(读或写)

tps:某块物理磁盘每秒钟 IO 传输的数量

Kb_read从磁盘上读取数据的总量

Kb_wrtn:写入磁盘的数据总量

vmstat

vmstat命令报告关于核心线程,虚拟内存,自陷(trap),磁盘以及CPU行为的统计。而且每种行为报告都被更细致地用百分比分别表示用户态、核态、空闲以及等待磁盘I/O等情况。 内核维持了对核心线程,换页以及中断行为的统计数据,而vmstat命令则通过使用knlist子程序和/dev/kmen伪设备驱动器访问这些数据。磁盘的输入/输出统计是通过设备驱动器维持的。对于磁盘,平均传输速度是通过使用活跃时间核传输信息数目决定的。而活跃时间百分比则是从报告期间驱动器忙的时间量计算出来的。

下图是AIX系统vmstat命令输出:

vmstat.jpg

vmstat命令产生五种类型的报告:

·         虚存行为报告

·         fork子进程情况报告

·         每个设备产生的中断情况报告

·         汇总报告

·         输入/输出行为报告

page:页面调入调出的数量

wa等待I/O的时间

avm活动虚拟页面,在进程运行中分配到工作段的页面空间数,单位为4K
fre:
空闲列表的数量.一般不少于120,fre少于120,系统开始自动的kill进程去释放free list  

PS

ps命令是UNIX系统中最常见的命令,它主要显示系统中关于进程的统计和状态信息,如进程IDI/O行为以及CPU利用率等。利用ps命令提供的信息,可决定一个进程运行了多长时间,进程使用了多少CPU时间,以及进程是否受系统的惩罚。还可用ps命令确定进程使用了多少内存,完成多少I/O,进程的优先级以及是谁创建了进程。下面这几个命令组合对于管理AIX系统有帮助:

1)显示10个消耗CPU最多的进程: # ps aux |head -1 ;ps aux |sort -rn +2 |head -10

2)显示10个消耗存储空间最多的进程: # ps aux |head -1 ;ps aux |sort -rn +3 |head -10

3)按顺序显示系统中受罚的进程: #ps -eakl |head -1 ;ps -eakl |sort -rn +5

4)按优先级顺序显示系统中的进程: #ps -eakl |sort -n +6 |head

5)按处理时间为顺序显示系统中的前十个进程: #ps vx |head -1 ;ps vx |grep -v PID |sort -rn +3 |head -10

6)按实际内存使用的多少顺序显示系统中的前十个进程: #ps vx |head -1 ;ps vx |grep -v PID |sort -rn +6 |head -10

7)按换入页面的多少顺序显示系统中的前10个进程: #ps vx |head -1 ;ps vx |grep -v PID |sort -rn +4 |head -10

下图是AIX系统ps命令输出:

ps.jpg

sar

sar命令报告CPU的使用情况,I/O以及其它系统行为。sar命令可以收集,报告以及保存系统行为信息。如果没有指定输入文件,则sar调用sarc命令访问系统数据。 用户可用让cron命令运行两个shell脚本(/usr/lib/sa/sa1/usr/lib/sa2)以提供日统计和报表。在crontab文件/var/spool/cron/crontabs/adm中包括了一些样本节,用于示范cron要在何时运行这些shell脚本。以这种方式收集到的数据对于确定系统的时间周期特征和决定峰值使用时间是有用的。但要注意的是,sar命令自己运行时会产生相当数量的读写。因此最好在没有工作量的情况下运行sar统计,看看sar对总的统计数字有多大的影响。

sar1.jpg

显示内容包括:

%usrCPU处在用户模式下的时间百分比
%sysCPU处在系统模式下的时间百分比
%wioCPU等待输入输出完成时间的百分比
%idleCPU空闲时间百分比

physc:消耗物理处理器的数目,只在共享处理器或启用同时多线程的分区上报告

在所有的显示中,我们应主要注意%wio%idle%wio的值过高,表示硬盘存在I/O瓶颈,%idle值高,表示CPU较空闲,如果%idle值高但系统响应慢时,有可能是CPU等待分配内存,此时应加大内存容量。%idle值如果持续低于10,那么系统的CPU处理能力相对较低,表明系统中最需要解决的资源是CPU

参考

Linux/AIX命令参考手册

应用于

LinuxAIX系统

1.6K 消息

2012年10月10日 00:00

女侠又出手啦,呵呵

1.2K 消息

2012年10月10日 00:00

呵呵,一转眼闭关修炼一个月了~

16 消息

2012年10月10日 22:00

不错,学习了!!

17 消息

2014年5月19日 23:00

jiawen,如果能加一个,建议的值就最好了。比如tm_act,一般正常的情况下,这个值是多少?如果磁盘瓶颈的时候,这个值在什么位置?诸如。谢谢。

1.2K 消息

2014年5月20日 02:00

谢谢,很中肯的建议。通常tm_act在超过60%到70%时,表示进程开始等待IO,也就是进入了瓶颈。

找不到事件!

Top