vmstat가 처음 실행 시 올바른 값을 반환하지 않습니다.

vmstat가 처음 실행 시 올바른 값을 반환하지 않습니다.

vmstatCPU 사용량을 얻기 위해 우분투 리눅스를 사용하고 있습니다 . 현재 CPU 사용량이 거의 100%에 달합니다. 다음과 같이 실행 하면 vmstat:

$ vmstat     
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 8  1      0 6383924 1287224 18123836    0    0     2    53    2   16  1  1 98  0  0

CPU 유휴율은 98%로 표시됩니다. 그러나 지연된 상태로 실행하고 다음과 같이 계산하면 다음과 같습니다.

$ vmstat 2 2
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 5  1      0 6491296 1287268 18128956    0    0     2    53    3   17  1  1 98  0  0
 4  1      0 6491992 1287268 18129080    0    0     0  2264 11142 17980 98  2  0  0  0

두 번째부터는 올바른 CPU 사용량이 표시됩니다. 내 질문은 처음 실행할 때 올바른 값을 출력하지 않는 이유입니다.

답변1

man vmstat(내가 굵은 글씨로 강조함) 에서 :

요약

vmstat [options] [delay [count]]

설명하다

vmstat 프로세스, 메모리, 페이징, 블록 IO, 트랩, 디스크 및 CPU 활동에 대한 정보를 보고합니다.

생성된 첫 번째 보고서는 마지막 재부팅 이후의 평균을 제공합니다.

다른 보고서는 지연된 샘플 기간에 대한 정보를 제공합니다. 두 경우 모두 프로세스 및 메모리 보고가 즉각적으로 이루어집니다.

옵션

delay 업데이트 간 지연 시간(초)입니다. 지연을 지정하지 않으면 시작 이후 평균이 포함된 보고서만 인쇄됩니다.

count 업데이트 수. 카운트가 없는 경우 지연을 정의할 때 기본값은 무한입니다.

[...]

관련 정보