微信号:dellemc_tech

介绍:为戴尔易安信客户提供技术支持服务,为广大IT行业用户分享技术文章与行业信息。

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

2016-07-21 20:23 EMC中文技术社区

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

 

iostat

 

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


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


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

 

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

  • tty和CPU利用情况

  • 磁盘利用情况

  • 系统吞吐率

  • 适配器吞吐率

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

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

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

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

Kb_wrtn:写入磁盘的数据总量

 

vmstat


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


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

 

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

  • 虚存行为报告

  • fork子进程情况报告

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

  • 汇总报告

  • 输入/输出行为报告

page:页面调入调出的数量

wa:等待I/O的时间

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

 

PS


ps命令是UNIX系统中最常见的命令,它主要显示系统中关于进程的统计和状态信息,如进程ID,I/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命令输出:

 

 

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对总的统计数字有多大的影响。

 

显示内容包括:

%usr:CPU处在用户模式下的时间百分比
%sys:CPU处在系统模式下的时间百分比
%wio:CPU等待输入输出完成时间的百分比
%idle:CPU空闲时间百分比

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


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



更多精彩内容,请点击阅读原文”进行查看!

如何每天都能收到如此精彩的文章?

①点击右上角点击查看官方账号”→点击关注

②长按并识别下图中的二维码,直接访问EMC中文支持论坛


 
戴尔易安信技术支持 更多文章 备份和归档的区别 云计算的三种模型:公有云、私有云和混合云 正确描述IO类型 【大咖讲网络】谁动了我的网络 浅析I/O处理过程与存储性能的关系
猜您喜欢 CTO们接着吼:创业公司几乎全是坑! 原研哉(Kenya HARA):茑屋书店品牌设计 解惑领域驱动设计的若干问题 加速原型设计 - 腾讯ISUX 【精】解读Spark的2015年:新生态系统的形成