vmstat 显示错误的处理器空闲时间

vmstat 显示错误的处理器空闲时间

首先操作系统:IBM AIX

#oslevel
5.3.0.0 

统计表

#lparstat

System configuration: type=Shared mode=Uncapped smt=On lcpu=12 mem=12288 psize=16 ent=3.00

%user  %sys  %wait  %idle physc %entc  lbusy   app  vcsw phint
----- ----- ------ ------ ----- ----- ------   --- ----- -----
  0.4   0.3    3.4   95.9  0.02   0.7   28.3 10.67 560694523 37167085

状态监测

System configuration: lcpu=12 mem=12288MB ent=3.00

kthr    memory              page              faults              cpu
----- ----------- ------------------------ ------------ -----------------------
 r  b   avm   fre  re  pi  po  fr   sr  cy  in   sy  cs us sy id wa    pc    ec
 6  1 1156074 636649   0   0   0   0    0   0 3604 189043 19464 61 38  1  0  4.82 160.6
 6  0 1148587 644228   0   0   0   0    0   0 3032 195003 16715 61 38  1  0  5.04 168.0
 5  0 1159487 633233   0   0   0   0    0   0 3357 184922 17515 61 38  1  0  4.77 159.2
 4  0 1149753 643033   0   0   0   0    0   0 3670 185761 19294 59 39  1  0  4.78 159.4
 5  0 1158086 634631   0   0   0   0    0   0 2758 187931 17119 61 38  1  0  4.72 157.4

因此,lpar 有 6 个处理单元,SMT 已启用,这就是 vmstat 列出 12 个 lcpu 的原因。问题是 vmstat 获取的结果与我们从该系统收集的 nmon 统计数据不同。vmstat 始终显示空闲百分比 (id) 为 1 - 表示 CPU 利用率为 99%。但是,当我们查看绘制的 nmon 信息时,情况并非如此,平均 CPU 利用率最高仅为 60% - 包括 usr、sys、wait 和空闲。在启用 SMT 的 CPUS 下,vmstat 是否不一致?或者我对 vmstat 的解释不正确?

相关内容