カーネル

【カーネル】sarコマンドでユーザプロセスとシステムコールのCPU使用率確認

2023年7月3日


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()

CATEGORIES & TAGS

カーネル,

Author:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

カテゴリー

むるし

フリーランスのインフラ系エンジニア。
備忘録で色々書いていきます。
お問い合わせは↓
mo-gyu@murci.net
LPIC303 Security

%d人のブロガーが「いいね」をつけました。