vmstat
CPU 사용량을 얻기 위해 우분투 리눅스를 사용하고 있습니다 . 현재 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
업데이트 수. 카운트가 없는 경우 지연을 정의할 때 기본값은 무한입니다.[...]