Ubuntu22.04でユーザプロセスとカーネルへのシステムコールが使用するCPU使用率を確認します。システムコールとは、ユーザプロセスがメモリなどのデバイスへアクセス時にカーネルへ依頼してカーネルがデバイスへのアクセスを行う際のプロセスです。
ユーザプロセスのCPU使用率を確認
処理をループさせます。実行中はユーザプロセス%が高騰します。
admin@think01:~/tmp$ cat userp-loop.py
#!/usr/bin/python3
while True:
pass
admin@think01:~/tmp$ taskset -c 0 ./userp-loop.py &
[1] 219986
admin@think01:~/tmp$ sar -P 0 1 1
Linux 5.19.0-43-generic (think01.murci.local) 2023年07月02日 _x86_64_ (4 CPU)
00時21分40秒 CPU %user %nice %system %iowait %steal %idle
00時21分41秒 0 100.00 0.00 0.00 0.00 0.00 0.00
平均値: 0 100.00 0.00 0.00 0.00 0.00 0.00
admin@think01:~/tmp$ sar -P 0 1 5
Linux 5.19.0-43-generic (think01.murci.local) 2023年07月02日 _x86_64_ (4 CPU)
00時21分54秒 CPU %user %nice %system %iowait %steal %idle
00時21分55秒 0 100.00 0.00 0.00 0.00 0.00 0.00
00時21分56秒 0 100.00 0.00 0.00 0.00 0.00 0.00
00時21分57秒 0 100.00 0.00 0.00 0.00 0.00 0.00
00時21分58秒 0 100.00 0.00 0.00 0.00 0.00 0.00
00時21分59秒 0 100.00 0.00 0.00 0.00 0.00 0.00
平均値: 0 100.00 0.00 0.00 0.00 0.00 0.00
admin@think01:~/tmp$ kill 219986
admin@think01:~/tmp$
[1]+ Terminated taskset -c 0 ./inf-loop.py
admin@think01:~/tmp$ sar -P 0 1 5
Linux 5.19.0-43-generic (think01.murci.local) 2023年07月02日 _x86_64_ (4 CPU)
00時22分45秒 CPU %user %nice %system %iowait %steal %idle
00時22分46秒 0 11.00 0.00 6.00 1.00 0.00 82.00
00時22分47秒 0 3.16 0.00 5.26 0.00 0.00 91.58
00時22分48秒 0 11.76 0.00 2.94 0.00 0.00 85.29
00時22分49秒 0 22.22 0.00 2.02 1.01 0.00 74.75
00時22分50秒 0 18.18 1.01 5.05 5.05 0.00 70.71
平均値: 0 13.33 0.20 4.24 1.41 0.00 80.81
admin@think01:~/tmp$
システムコールのCPU使用率を確認
やり方はユーザプロセス用と同じです。実行中はシステムコール%が高騰します。
admin@think01:~/tmp$ cat syscall-loop.py
#!/usr/bin/python3
import os
while True:
os.getppid()