微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > UNIX系统性能监控简述及shell实现系统资源利用率

UNIX系统性能监控简述及shell实现系统资源利用率

时间:03-17 来源:互联网 点击:

UNIX系统性能监控简述及shell实现系统资源利用率统计程序

论文摘要:本文简要阐述了unix系统中(主要以IBM的AIX为例)进行系统性能管理的几种命令行工具,并通过编写shell实例程序,运用其中提到的工具实现系统资源利用率的统计程序,为做好unix系统管理和调优提供参考。

  1.引言

  Unix系统中性能优化以及确定系统中的性能瓶颈是系统管理员的主要任务之一。在一个计算机系统中,CPU、内存、硬盘和网络是影响系统性能的主要因素,因此系统性能的监控以及调整也主要在于如何在这些资源中获得某种平衡,以满足人们对系统性能的期望。

  IBM小型机RS6000在企业应用中被广泛采用,其上的AIX操作系统如同其它UNIX系统一样,给系统管理员监控系统提供了非常丰富的手段。这里就以AIX系统中的几个监控工具为例,利用shell程序及定时作业程序cron及强大的awk工具,实现统计系统资源利用率,可以每天统计内存的日均使用率、CPU的每日峰值、CPU的日均使用率,并使每月统计量根据月中每日数据平均得出,每月1号凌晨产生上月统计数据,这样就可给系统管理员了解系统运行资源的率用率提供很好的参考。其中提到的系统工具Vmstat、svmon、awk等都很强大,限于篇幅不作非常详细的介绍,如想更透彻地了解这些命令的用法,请参考有关技术资料或手册。

  2.AIX中的性能监控工具

  一个系统要为用户提供持续高可用性的服务,不仅仅只要求它能够正常运行,而且还要使其性能处于最佳状态。系统管理员的职责之一就是对系统进行性能统计分析,掌握系统的运行状态和资源使用情况,然后通过合理配置系统资源,使系统健康运行。

  从系统管理的角度看,性能的管理主要集中在现有资源的分配利用上,这些资源包括物理资源和逻辑资源。物理资源包括了CPU、内存、I/O设备,逻辑设备包括逻辑卷管理器、虚拟内存管理器、系统资源控制器和文件系统等。这里重点介绍一些关于系统性能的命令和工具。

  1.iostat

  iostat命令主要通过观察物理磁盘的活跃时间以及他们的平均传输速度,监控系统输入/输出设备负载。根据iostat命令产生的报告,用户可确定一个系统配置是否平衡,并据此在物理磁盘与适配器之间更好地平衡输入/输出负载。

  2.netpmon

  netpmon命令可以监控关于网络行为的系统事件和性能以及网络行为对CPU的消耗。netpmon命令在指定的监控周期报告网络行为。

  3.ps 工具

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

  4.vmstat

  vmstat命令报告关于核心线程,虚拟内存,自陷(trap),磁盘以及CPU行为的统计。而且每种行为报告都被更细致地用百分比分别表示用户态、核态、空闲以及等待磁盘I/O等情况。

  内核维持了对核心线程,换页以及中断行为的统计数据,而vmstat命令则通过使用knlist子程序和/dev/kmen伪设备驱动器访问这些数据。磁盘的输入/输出统计是通过设备驱动器维持的。对于磁盘,平均传输速度是通过使用活跃时间核传输信息数目决定的。而活跃时间百分比则是从报告期间驱动器忙的时间量计算出来的。

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

  6.topas

  topas命令用于监控各种系统资源,如CPU的使用情况,CPU事件和队列,内存和换页空间的使用,磁盘性能,网络性能以及NFS统计等。它还会报告指派给不同WLM类的进程对系统资源的消耗情况。它还能报告系统中最热门的进程和工作量管理器(WLM)的热门类。有关WLM类信息只有在WLM激活时才会显示。topas命令将热门进程定义为那些使用大量CPU时间的进程。topas命令没有作日志的选项,所有信息都是实时的。

  7.truss

truss命令跟踪一个进程的系统调用、所接收的

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top