個々のユーザー、システムなど、各プロセスのCPU使用率を取得します。

個々のユーザー、システムなど、各プロセスのCPU使用率を取得します。

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

おすすめ記事