AIX 的 vmstat 命令详解(原创)
vmstat 概述
vmstat 命令报告关于内核线程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息。由 vmstat 命令生成
的报告可以用于平衡系统负载活动。系统范围内的这些统计信息(所有的处理器中)都计算出以百分比表
示的平均值,或者计算其总和。
Interval 参数指定每个报告之间的时间量(以秒计)。第一个报告包含系统启动后时间的统计信息。后续
报告包含自从前一个报告起的时间间隔过程中所收集的统计信息。如果没有指定 Interval 参数,vmstat
命令生成单个报告然后退出。Count 参数只能和 Interval 参数一起指定。如果指定了 Count 参数,其
值决定生成的报告数目和相互间隔的秒数。如果 Interval 参数被指定而没有 Count 参数,则连续生成报
告。Count 参数不允许为 0。
内核为内核线程、调页和中断活动维护统计信息,vmstat 命令通过使用 perfstat 内核扩展来对其进行
访问。磁盘输入/输出统计信息由设备驱动程序维护。对于磁盘,利用活动时间和传送信息数量来确定平
均传送速率。活动时间的百分数根据报告期间驱动器忙的时间量来计算。
vmstat 命令输出详解
输出样例
#vmstat 1 2
System conguration: lcpu=8 mem=15360MB
kthr memory page faults cpu
----- ---------------------------- ---------------------- ------------ ----------------------------------------
r b avm fre re pi po fr sr cy in sy cs us sy id wa
1 0 1614482 971363 0 0 0 0 0 0 56 4997 2739 1 1 97 0
0 0 1614484 971361 0 0 0 0 0 0 23 4435 2677 1 1 97 0
Kthr
kernel thread state(内核线程状态,表示每秒钟在采样间隔时间上对各种队列的内核线程数求得的平均
值)
r: 取样期间可运行的内核线程的平均数,包括正在运行的线程和指准备运行但尚在等待运行的进程。
1.)如果在 processes 中运行的序列(process r)是连续的大于在系统中的 CPU 的个数表示系统现在运行
比较慢,有多数的进程等待 CPU。
2.)如果 r 的输出数大于系统中可用 CPU 个数的 4 倍的话,则系统面临着 CPU 短缺的问题,或者是 CPU 的速
率过低,系统中有多数的进程在等待 CPU,造成系统中进程运行过慢。