Unix 또는 Unix 계열 시스템에서 프로세스당 CPU 사용량 비율(사용자, 시스템 및 기타 시간 범주로 구분)을 어떻게 확인합니까? top
전체 머신 또는 각 코어에 대한 전반적인 "sy", "us", "wa" 등을 표시하지만 각 프로세스에 대해 이러한 통계를 표시하는 방법을 보여주는 매뉴얼에는 아무것도 표시되지 않습니다.
설명하자면...상단은 다음과 같습니다.
top - 18:11:58 up 9 days, 6:41, 17 users, load average: 2.42, 2.38, 2.47
Tasks: 2642 total, 4 running, 2638 sleeping, 0 stopped, 0 zombie
%Cpu(s): 2.9 us, 0.8 sy, 0.0 ni, 96.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 26413387+total, 26355763+used, 576240 free, 233544 buffers
KiB Swap: 8921084 total, 8920140 used, 944 free. 14931166+cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
63209 postgres 20 0 0.101t 0.012t 0.012t R 100.0 5.0 389:44.92 postgres
62356 postgres 20 0 0.101t 922336 886508 R 100.0 0.3 10:25.82 postgres
2139 rabbitmq 20 0 9817.9m 5.334g 2968 S 10.4 2.1 1848:43 beam.
예를 들어 다음과 같은 내용을 보고 싶습니다(%CPU(sy) 및 %CPU(us) 참조).
top - 18:11:58 up 9 days, 6:41, 17 users, load average: 2.42, 2.38, 2.47
Tasks: 2642 total, 4 running, 2638 sleeping, 0 stopped, 0 zombie
%Cpu(s): 2.9 us, 0.8 sy, 0.0 ni, 96.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 26413387+total, 26355763+used, 576240 free, 233544 buffers
KiB Swap: 8921084 total, 8920140 used, 944 free. 14931166+cached Mem
PID USER PR NI VIRT RES SHR S %CPU(us) %CPU(sy) %MEM TIME+ COMMAND
63209 postgres 20 0 0.101t 0.012t 0.012t R 100.0 1.0 5.0 389:44.92 postgres
62356 postgres 20 0 0.101t 922336 886508 R 100.0 0.4 0.3 10:25.82 postgres
2139 rabbitmq 20 0 9817.9m 5.334g 2968 S 10.4 0.2 2.1 1848:43 beam.
답변1
다음 명령을 사용하여 프로세스에 대해 원하는 통계를 얻을 수 있습니다.
pidstat -u -p <PID>
예를 들어
pidstat -u -p 2345