vmstat가 잘못된 프로세서 유휴 시간을 표시합니다.

우선 첫째로
OS : IBM AIX

#oslevel
5.3.0.0

lparstat

#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

vmstat

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에는 SMT가 켜져있는 6 개의 처리 단위가 있으며, 이것이 vmstat가 12 lcpus를 나열한 이유입니다.
문제는 vmstat 페치가 우리가이 시스템에서 수집 한 nmon 통계에서 보는 것과 다르다는 것입니다. vmstat은 유휴 % (id)가 1임을 보여 주며 CPU가 99 % 사용되었음을 나타냅니다. 하지만 우리가 nmon 정보를 볼 때, 그렇지 않은 경우 평균 CPU 사용률은 usr, sys, wait & amp; idle을 포함하여 최대 60 %까지만 사용됩니다
SMT가있는 CPUS에서 vmstat가 일치하지 않습니까? 또는 vmstat을 잘못 해석합니까?



답변