free
메모리 사용량 정보가 표시되는 방식과 유사하게 CPU 사용량 정보(전체 CPU 및 개별 코어 모두)를 정적 방식(예: 한 번만)으로 표시할 수 있는 명령이 있습니까 ?
를 실행할 때 top
상단의 CPU 정보를 클릭하여 1
개별 코어 사용량과 전체 CPU 사용량을 표시하는 것이 아마도 내가 원하는 것일 것입니다. 그러나 top
기본적으로 정보는 동적으로 업데이트되고 필요한 것보다 더 많은 정보(메모리 및 프로세스별 정보)를 출력합니다.
감사해요.
답변1
이라는 프로세서 관련 런타임 통계를 동적으로 표시하는 명령이 있습니다
mpstat
. 대부분의 배포판에서는 패키지의 일부입니다 sysstat
.
그 출력이 귀하의 질문에 더 직접적으로 답변하지만 mpstat -P ALL -I CPU
저는 다음 출력을 선호합니다 mpstat -P ALL
.이해하기 더 쉽다.
예를 들어 CPU가 40개인 머신의 출력은 다음과 같습니다.
Linux 3.0.101-63-default 02/16/19 _x86_64_
09:52:11 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
09:52:11 all 0.04 0.00 0.04 0.02 0.00 0.00 0.00 0.00 99.90
09:52:11 0 0.13 0.00 0.13 0.57 0.00 0.00 0.00 0.00 99.16
09:52:11 1 0.24 0.00 0.49 0.07 0.00 0.00 0.00 0.00 99.21
09:52:11 2 0.04 0.00 0.03 0.00 0.00 0.00 0.00 0.00 99.94
09:52:11 3 0.03 0.00 0.02 0.00 0.00 0.00 0.00 0.00 99.95
09:52:11 4 0.02 0.00 0.01 0.00 0.00 0.00 0.00 0.00 99.97
09:52:11 5 0.02 0.00 0.01 0.00 0.00 0.00 0.00 0.00 99.96
09:52:11 6 0.02 0.00 0.01 0.00 0.00 0.00 0.00 0.00 99.98
09:52:11 7 0.02 0.00 0.01 0.00 0.00 0.00 0.00 0.00 99.97
09:52:11 8 0.01 0.00 0.01 0.00 0.00 0.00 0.00 0.00 99.98
09:52:11 9 0.01 0.00 0.01 0.00 0.00 0.00 0.00 0.00 99.98
09:52:11 10 0.12 0.00 0.10 0.19 0.00 0.00 0.00 0.00 99.59
09:52:11 11 0.09 0.00 0.06 0.01 0.00 0.00 0.00 0.00 99.84
09:52:11 12 0.03 0.00 0.02 0.00 0.00 0.00 0.00 0.00 99.94
09:52:11 13 0.03 0.00 0.02 0.00 0.00 0.00 0.00 0.00 99.94
09:52:11 14 0.03 0.00 0.02 0.00 0.00 0.00 0.00 0.00 99.95
09:52:11 15 0.03 0.00 0.02 0.00 0.00 0.00 0.00 0.00 99.95
09:52:11 16 0.03 0.00 0.01 0.00 0.00 0.00 0.00 0.00 99.95
09:52:11 17 0.03 0.00 0.02 0.00 0.00 0.00 0.00 0.00 99.95
09:52:11 18 0.03 0.00 0.01 0.00 0.00 0.00 0.00 0.00 99.96
09:52:11 19 0.03 0.00 0.02 0.00 0.00 0.00 0.00 0.00 99.95
09:52:11 20 0.06 0.00 0.06 0.01 0.00 0.00 0.00 0.00 99.87
09:52:11 21 0.19 0.00 0.27 0.01 0.00 0.00 0.00 0.00 99.54
09:52:11 22 0.02 0.00 0.01 0.00 0.00 0.00 0.00 0.00 99.97
09:52:11 23 0.03 0.00 0.01 0.00 0.00 0.00 0.00 0.00 99.96
09:52:11 24 0.02 0.00 0.01 0.00 0.00 0.00 0.00 0.00 99.97
09:52:11 25 0.02 0.00 0.01 0.00 0.00 0.00 0.00 0.00 99.97
09:52:11 26 0.01 0.00 0.01 0.00 0.00 0.00 0.00 0.00 99.98
09:52:11 27 0.01 0.00 0.01 0.00 0.00 0.00 0.00 0.00 99.98
09:52:11 28 0.01 0.00 0.01 0.00 0.00 0.00 0.00 0.00 99.98
09:52:11 29 0.01 0.00 0.01 0.00 0.00 0.00 0.00 0.00 99.98
09:52:11 30 0.04 0.00 0.04 0.00 0.00 0.00 0.00 0.00 99.92
09:52:11 31 0.03 0.00 0.03 0.00 0.00 0.00 0.00 0.00 99.94
09:52:11 32 0.02 0.00 0.02 0.00 0.00 0.00 0.00 0.00 99.96
09:52:11 33 0.02 0.00 0.02 0.00 0.00 0.00 0.00 0.00 99.96
09:52:11 34 0.03 0.00 0.01 0.00 0.00 0.00 0.00 0.00 99.96
09:52:11 35 0.03 0.00 0.01 0.00 0.00 0.00 0.00 0.00 99.96
09:52:11 36 0.03 0.00 0.01 0.00 0.00 0.00 0.00 0.00 99.96
09:52:11 37 0.03 0.00 0.01 0.00 0.00 0.00 0.00 0.00 99.96
09:52:11 38 0.02 0.00 0.02 0.00 0.00 0.00 0.00 0.00 99.96
09:52:11 39 0.03 0.00 0.01 0.00 0.00 0.00 0.00 0.00 99.96
~에서man mpstat
mpstat 명령은 사용 가능한 각 프로세서의 표준 출력 활동을 기록하며 프로세서 0이 첫 번째입니다. 모든 프로세서의 글로벌 평균 활동도 보고됩니다. mpstat 명령은 SMP 및 UP 시스템에서 사용할 수 있지만 후자에서는 전역 평균 활동만 인쇄됩니다. 활동을 선택하지 않은 경우 기본 보고서는 CPU 사용률 보고서입니다.
이 주제에 관심이 있다면 이 책을 추천합니다.
시스템 성능: 엔터프라이즈 및 클라우드, Brendan Gregg
PS는 mpstat
단기적으로 매우 유용 하지만 sar
PS와 함께 설치되는 동반 유틸리티는 sysstat
궁극적으로 장기적인 패턴과 기준을 설정하는 데 더 유용합니다.
추론: 사용하지 말고 cron
사용 mpstat
하세요 sar
.
답변2
top -bn 1
최상위 rc를 설정한 후;
top
1
W
q
그렙 너는 무엇을 원하니?
top -bn 1 | grep -P "^(%|top)"
이와 같은 출력의 경우
top - 11:40:33 up 24 days, 32 min, 1 user, load average: 0.00, 0.00, 0.00
%Cpu0 : 0.0 us, 1.2 sy, 0.0 ni, 98.1 id, 0.1 wa, 0.3 hi, 0.2 si, 0.0 st
%Cpu1 : 0.0 us, 0.9 sy, 0.0 ni, 98.9 id, 0.1 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu2 : 0.0 us, 0.8 sy, 0.0 ni, 99.1 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu3 : 0.0 us, 0.8 sy, 0.0 ni, 99.1 id, 0.0 wa, 0.0 hi, 0.1 si, 0.0 st
%Cpu4 : 2.0 us, 2.0 sy, 0.2 ni, 93.0 id, 2.3 wa, 0.2 hi, 0.3 si, 0.0 st
%Cpu5 : 0.9 us, 3.0 sy, 0.1 ni, 94.8 id, 0.8 wa, 0.3 hi, 0.1 si, 0.0 st
%Cpu6 : 0.2 us, 2.6 sy, 0.0 ni, 96.4 id, 0.4 wa, 0.2 hi, 0.1 si, 0.0 st
%Cpu7 : 0.1 us, 1.0 sy, 0.1 ni, 98.4 id, 0.3 wa, 0.0 hi, 0.0 si, 0.0 st