topas概述
topas 命令报告选定的本地系统活动的统计信息。该命令使用 curses 库以合适的格式来显示其输出,该格式适合于在一个 80x25 基于字符的显示器上或至少同样大小的图形显示器的窗口中进行查看。topas 命令需要在系统中安装 perfagent.tools 文件集。
如果 topas 命令调用时没有标志,则运行时正如用以下命令行来调用:
topas -d20 -i2 -n20 -p20 -w20 -c20
程序按由 monitoring_interval_in_seconds 参数指定的时间间隔从系统抽取统计信息。缺省输出如下所示,包含两个固定部分和一个可变部分。显示器左边的最上方两行显示了 topas 命令运行所在的系统的名称、上次查看的日期和时间以及监视时间间隔。
第二个固定部分占用了显示器的最右端的 25 个位置。它包含统计信息的 5 个子节,如下所示:
事件/队列 | 显示选定的系统全局事件的每秒频率、线程运行和等待队列的平均大小:上下文切换在监视时间间隔内每秒上下文切换的数量。系统调用在监视时间间隔内每秒执行的系统调用的总数。读在监视时间间隔内每秒执行的 read 系统调用的数量。写在监视时间间隔内每秒执行的 write 系统调用的数量。派生在监视时间间隔内每秒执行的 fork 系统调用的数量。执行在监视时间间隔内每秒执行的 exec 系统调用的数量。运行队列准备运行但需要等待处理器可用的平均线程数目。等待队列正在等待页面调度完成的平均线程数目。 |
文件/TTY | 显示所选文件与 tty 统计信息的每秒频率。读字符在监视时间间隔内 read 系统调用每秒读的字节数。写字符在监视时间间隔内 write 系统调用每秒写的字节数。原始输入在监视时间间隔内每秒从 TTY 中读取的原始字节数。Tty 输出在监视时间间隔内每秒写入 TTY 中的字节数。Igets在监视时间间隔内每秒调用索引节点查找例程的数量。Namei在监视时间间隔内每秒调用路径名查找例程的数量。目录块在监视时间间隔内被目录搜索例程每秒扫描的目录块数目。 |
页面调度 | 显示页面调度统计信息的每秒频率。故障在监视时间间隔内每秒缺页故障的总数。这包括不能激活页面调度的缺页故障。占用在监视时间间隔内每秒钟有物理内存 4K 帧被虚拟内存管理器占用。调页空间输入在监视时间间隔内每秒钟从调页空间读取 4K 页面的数量。调页空间输出在监视时间间隔内每秒钟将 4K 页面写到调页空间的数量。 PageIn,PageOut如果这两个数值均大于三位数,并且长期大于这个数值,则会出现内存颠簸,导致系统响应性能变慢了。这个信息也可以用vmstat来看,pi和po列即与这里相对应。当然,如果只是有页面出,或者只有页面入,或者短时间的一些页面换入换出,则没有什么问题,关注一下即可。页面调进在监视时间间隔内每秒钟读取 4K 页面的数量。这包括与从文件系统读取有关的页面调度活动。从此值中减去 PgspIn 就可得到在监视时间间隔内每秒钟从文件系统读取的 4K 页面的数量。页面调出在监视时间间隔内每秒钟写 4K 页面的数量。这包括与写入文件系统有关的页面调度活动。从此值中减去 PgspOut 就可得到在监视时间间隔内每秒钟写入文件系统的 4K 页面的数量。Sios在监视时间间隔内虚拟内存管理器每秒钟发出的 I/O 请求的数目。 |
内存 | 显示实际内存大小与内存使用的分布情况。实内存,MB以 MB 为单位的实内存大小。计算页面百分比当前分配给计算页面帧的实际内存的百分比。计算页面帧通常是那些被调页空间支持的帧。非计算页面百分比当前分配给非计算页面帧的实际内存的百分比。非计算页面帧通常是那些被文件空间(可以是数据文件、可执行文件或共享库文件)支持的帧。客户机百分比当前被分配用来对远程安装的文件进行高速缓存的实内存的百分比 |
调页空间 | 显示调页空间的大小和使用率大小,MB系统上所有调页空间的总和,以 MB 为单位。已使用百分比当前正在使用的调页空间所占的总百分比。如果换页空间的使用率长期增长,就说明系统内存不足,已经开始使用磁盘空间来缓冲内存了,如果PG使用率持续增长,或者大于50%,需要警惕(到50%在监控平台已经是主要告警啦!),并马上提交系统管理员分析内存增长原因。如果该数值持续增长,系统一定会挂掉的!空闲百分比当前未使用的调页空间所占的总百分比。 |
NFS |
显示每秒调用的 NFS 状态
|
CPU 使用率
此子节显示一个条形图表来表示累积的 CPU 使用率。如果有多个 CPU,按 c 键两次 就可显示 CPU 列表。仅按 c 键一次将会关闭此子节。以下字段通过两种格式显示:
用户百分比 :这显示以用户方式执行的程序所使用的 CPU 的百分比。(缺省按用户百分比排序) : 这个为CPU使用率的关键数值。该使用率反映了用户在操作系统基础上运行的各种软件占用的CPU时间比率的总和。一般来说,如果User+Kernel连续大于70%,即可以认为系统可能存在CPU上的严重性能问题。
内核百分比 :这显示以内核方式执行的程序所使用的 CPU 的百分比。操作系统作为基础软件,为应用程序支持和服务的同时,本身的运行也需要一定的CPU和内存。特别是内存资源,系统负载越重,相应的内核占用的CPU和内存资源也会越多。一般来说,内核占用的CPU时间不会太多的。一般小于应用的CPU使用率。
等待百分比 :这显示用于等待 IO 的时间的百分比。CPU的等待一般都为等待IO的响应,众所周知,目前计算机的主要瓶颈都在IO。应用程序执行的时候,需要读写磁盘等外部存储的数据,进程就会发起IO请 求后等待IO完成。这个等待的过程占用CPU时间就是wait。当这个值很高的时候,就说明IO来不及响应很多的IO请求,这个时候,就只能从IO层面想 办法优化了。
空闲百分比 :这表示 CPU 空闲时间的百分比。CPU占用率出问题的主要可能原因:数据库服务器执行某一个SQL或者存储过程需要大量的运算(一般为软件设计不合理)。或者应用程序中存在异常的地方,比如死循环,或者其他写程序时的逻辑错误导致。一般程序出错会导致一个CPU被全部占用,比如上述的20%占用的原因就是一个交易程序长期占用一个CPU全部时间片。
当此子节首先显示热 CPU 列表时,就按用户百分比字段来对列表排序。但是,可以按其它字段来对列表排序,只要将光标移到期望栏的顶部就可以了。
网络接口
此子节显示了热网络接口的列表。所显示接口的最大数目是正在受监视的热接口数目,如 -n 标志指定的那样。如果其它子节也正在被显示,则将显示接口的一个较小数目。按n 键可关闭此子节。再次按 n 键显示一行所有网络接口活动的报告摘要。两个报告都显示以下字段:
接口 :网络接口的名称。
千位/秒 :在监视时间间隔内每秒钟以 MB 为单位的总吞吐量。该字段是每秒接收到的千字节和发送的千字节的总和。
输入包 :在监视时间间隔内每秒钟接收到的数据包的数目。
输出包 :在监视时间间隔内每秒钟发送的数据包的数目。
输入千字 :在监视时间间隔内每秒钟接收到的千字节的数目。
输出千字节 :在监视时间间隔内每秒钟发送的千字节的数目。
当此子节首先显示热网络接口列表时,按 KBPS 字段对列表排序。但是,可以按其它字段对列表排序,只要将光标移到期望栏的顶部就可以了。排序仅对最多 16 个网络适配器有效。
当我们发现网络拥堵时(出现网卡传输失效的报错,即网卡发送数据包失败。或者网络响应明显变慢的时候,如果CPU没有问题,那么请检查网络流量)发现某一个网卡的KBPS持续大于四位数,甚至五位数时(这个值要是网卡千兆还是百兆而定)。就要看看这个网卡是什么网卡,在处理什么业务了。在命令行执行netstat –in 查看对应en*接口的ip地址,通过ip地址看看是带官网卡还是生产服务网卡流量高。然后通过netstat –v en* 看看网卡的详细工作状态,出现了多少错包,冲突包,crc校验错或者网络重置过等信息。上述信息请详细看netstat –v en*的输出.如果出现大量crc,错包的话,可能网线有问题或者接触不良。
如果上述均正常,而网络反应慢,则有可能是交换机拥堵。
网络出现问题的可能原因:通过百兆的带管网加载大量数据(以前出现过),大量队列的长时间的ftp传输,或者网线,交换机问题等。
磁盘
物理磁盘 此子节显示热物理磁盘列表。所显示物理磁盘的最大数目是正受监视的热物理磁盘数目,正如 -d 标志指定的那样。如果其它子节也正在被显示,则将显示物理磁盘的一个较小数目。按 d 键可关闭此子节。再次按 d 键显示一行所有物理磁盘活动的报告摘要。两个报告都显示以下字段:
物理磁盘的名称。
忙碌百分比 :表示物理磁盘活动时间的百分比(驱动器带宽使用率)。 Disk Busy%磁盘繁忙的百分比,即磁盘能满足的最大IOPS(每秒IO操作数)和当前IO数量的比率。 一般主要看磁盘的Busy%,当磁盘的Busy%持续大于85%时,即认为磁盘相当繁忙,已经可能要出问题了。当然,自己知道已经确定要产生大量IO操作的内容则不必在意,等其完成即可。 出现问题的原因:应用服务器上面写日志进程或者查询日志的进程大量读写日志,导致磁盘繁忙率高,或者其他程序频繁读写磁盘导致。系统中hdisk0,hdisk1一般为系统盘,内置SCSI磁盘的相对IOPS是较低的。很容易满负荷运行。
千位/秒 :在监视时间间隔内每秒钟读和写的千字节的数目。此字段是 KB-Read 和 KB-Writ 的总和。
TPS :每秒钟向物理磁盘发出的传输数目。传输是对物理磁盘的 I/O 请求。多个逻辑请求可组合成对磁盘的单个 I/O 请求。传输大小不确定。
读取千字节 :每秒钟从物理磁盘读取的千字节的数目。
写入千字节 :每秒钟写到物理磁盘的千字节的数目。
当此子节首先显示热物理磁盘列表时,按KBPS 字段对列表排序。但是,可以按其它字段对列表排序,只要将光标移到期望栏的顶部就可以了。排序仅对最多 128 个物理磁盘有效。
进程
此子节显示热进程列表。所显示进程的最大数目是正在受监视的热过程数目,如 -p 标志指定的那样。如果其它子节也正在被显示,则将显示进程的一个较小数目。按 p 键可关闭此子节。按监视时间间隔内进程的 CPU 使用率来对进程排序。对于每一进程会显示以下字段:
名称 :在进程中执行的可执行程序的名称。名称已被除去任何路径名和参数信息并被截断到 9 个字符的长度。
进程标识 :进程的进程标识。
CPU 使用率百分比 :在监视时间间隔内进程的平均 CPU 使用率。第一次显示进程时,此值表示整个进程生命期上的平均 CPU 使用率。
已使用调页空间 :分配给此进程的调页空间的大小。这可被认为是进程覆盖区的一种表达,但并不包括用来保持可执行程序和它依赖的任何共享库的内存。
进程所有者 (如果 WLM 部分被关闭) :拥有此进程的用户的用户名。
工作负载管理(WLM)类 (如果 WLM 部分被打开) :进程所属的 WLM 类。
在topas中,默认是列出占用cpu最高的前几个的进程信息供参考,如果前面第一区域的的CPU使用率持续高,就要看看这里是那个进程占用了大量的CPU资源,看看是哪个用户的进程,如果自己执行的,则杀掉或者找项目组解决即可。
参数列表
子命令
当 topas 运行时,它接受单字符的子命令。每次监视时间间隔过去时,程序会对以下子命令之一进行检查并对所请求的操作作出响应。
a | a 键可显示所有正在受监视的变量子节(CPU、网络、磁盘、WLM、过程)。按 a 键总使 topas命令返回到初始主显示屏幕。 |
c | c 键可使 CPU 子节在累积报告、关闭和最忙 CPU 列表这三者之间进行切换。所显示的最忙 CPU 数目将取决于屏幕上的可用空间。 |
d | d 键可使磁盘子节在最忙磁盘列表、关闭和系统全部磁盘活动的报告这三者之间进行切换。所显示的最忙磁盘数目将取决于屏幕上的可用空间。 |
h | 显示帮助屏幕。 |
n | n 键可使网络接口子节在最忙接口列表、关闭和系统全部网络活动的报告这三者之间进行切换。所显示的最忙接口数目将取决于屏幕上的可用空间。 |
w | w 键可在打开与关闭工作负载管理(WLM)类子节之间进行切换。所显示的最忙 WLM 类数目取决于屏幕上的可用空间。 |
p | p 键可在打开与关闭热进程子节之间进行切换。所显示的最忙进程数目取决于屏幕上的可用空间。 |
P | 大写 P 键用全屏幕进程显示来替换缺省显示。有关运行在系统上的进程,此显示提供了比主显示的进程部分更详细的的信息。再次按 P 键时,就会切换回缺省主显示。 |
W | 大写 W 键用全屏幕 WLM 类显示来替换缺省显示。此显示提供了有关 WLM 类和指定给类的进程的更详细信息。再次按 W 键时,就会切换回缺省主显示。 |
f | 将光标移动到一个 WLM 类上,并按 f 键就可在 WLM 屏幕底部显示该类中顶部进程的列表。该键功能只有 topas 在全屏幕 WLM 显示(通过使用 W 键或 -W 标志)时才有效。 |
q | 退出程序。 |
r | 刷新显示。 |
箭头键与跳格键 | 主显示中的各个子节,诸如 CPU、网络、磁盘、WLM 类、全屏幕 WLM 与进程显示的子节可按不同标准进行排序。将光标移动到一栏上,然后会按该栏进行排序。各项总是从最高值到最低值排序。使用跳格 键或箭头键来移动光标。排序只对 128 个磁盘和 16 个网络适配器有效。 |
常用用法
1、要每 5 秒显示最多 20 个“热”磁盘而省略网络接口、WLM 类和进程信息,请输入:
#topas -i5 -n0 -p0 -w0
2、要显示 5 个最活跃的进程和最多 20 个最活跃的 WLM 类(省略 -w 标志时此为缺省值),而不显示网络或磁盘信息,请输入:
#topas -p5 -n0 -d0
3、要使用缺省选项运行程序,请输入:
#topas
4、要直接进入进程显示,请输入:
#topas -P
5、要直接进入 WLM 类显示,请输入:
#topas -W
参考至:http://www.kuqin.com/aixcmds/aixcmds5/topas.htm#a26866631
http://www.iteye.com/topic/638455
本文原创,转载请注明出处、作者
如有错误,欢迎指正
邮箱:czmcj@163.com