此处要注意的最重要字段有:
- r——在所选择的任意采样间隔期间的平均可运行内核线程数。
- b——采样期间在虚拟内存中等待队列的平均内核线程数。r 应该始终高于 b;如果不是,通常意味着遇到了 CPU 瓶颈。
- fre——可用内存列表的大小。如果此数量并不小,不要太过担心。更为重要的是,在此数量小的情况下确定是否进行了任何分页 *** 作。
- pi—— 从页面空间读取的页面。
- po——写入页面空间的页面。
- CPU 部分:
- us
- sy
- id
- wa
让我们看看最后一个部分(在大部分其他 CUP 监视工具中也提供此信息,不过使用的标题不同):
- us——用户时间
- sy——系统时间
- id——空闲时间
- wa——等待 I/O
如果您的 us 和 sys 条目都平均高于 80%,很可能遇到了 CPU 瓶颈。如果上升到了 100%,您的系统就真的太繁忙。如果这些数字很小,但 wa(等待 I/O)很高(通常大于 30),这意味着系统上存在 I/O 问题,从而导致 CPU 不能到达其最佳工作状态。如果 sy 时间 比 us 时间 长,这意味着您的系统处理数字的时间比实际处理内核数据的时间短。这也不好。
虽然 vmstat 命令更多地与内存相关,但我发现可通过该命令最快而且最准确地确定瓶颈所在。
那用户为什么会对系统抱怨呢?因为系统真的让用户感觉到运行得很慢。直到我确定了没有系统问题,而且相邻的同事没有出现问题,我才确定了问题的根源。因此,我让他重新启动 PC,从而获得干净的客户机系统。显然,某个正在运行的东西造成了 PC 客户机故障。
第二天我又接到另一个电话,于是再次启动 vmstat (请参见 清单 2 )。
清单 2. 再次运行 vmstat
# vmstat 1 System configuration: lcpu=2 mem=3920MBkthr memory page faults cpu ----- ----------- ------------------------ ------------ -----------r b avm fre re pi po fr sr cy in sy cs us sy id wa9 0 4200 2746 0 0 0 0 0 0 3 198 69 70 30 0 0 04 7 4200 2746 0 0 0 0 0 0 3 33 66 67 31 2 0 02 6 4200 2746 0 0 0 0 0 0 2 33 68 65 34 1 0 03 9 4200 2746 0 0 0 0 0 0 80 306 100 80 20 0 1 02 7 4200 2746 0 0 0 0 0 0 1 20 68 80 20 0 0 0
会员注册
会员登录
个人空间