Skip to content

Linuxで単一/複数CPUコアに負荷をかける

以前にLinux の指定数 CPU コアに負荷をかけるというメモを書きました。この過去のメモで触れた方法も含め、改めて「Linuxで単一/複数CPUコアに負荷をかける」方法をメモしておきます。

検証環境

対象 バージョン
Ubuntu 26.04LTS

負荷をかける

yesコマンドで単一コアに負荷をかける

単一CPUコアに対して手軽に負荷をかけるにはyesコマンドを利用します。

yes > /dev/null

openssl speedコマンドで複数コアに負荷をかける

複数CPUコアに対して負荷をかけるにはopenssl speedコマンドを利用します。-multiオプションに続けて負荷をかけたいCPUコア数を指定します。

openssl speed -multi 4

stress-ngで負荷をかける

追加インストールが必要ですがstress-ngを利用して負荷をかけることも出来ます。Ubuntuであれば標準リポジトリからインストールできます。

apt -y install stress-ng

「4CPUコアに対して30秒間だけ、負荷をかける」場合は以下のように実行します。

stress-ng --cpu 4 --timeout 30s

実際の実行例は以下です。指定時間が経過すると自動的にツールが終了します。

# stress-ng --cpu 4 --timeout 30s
stress-ng: info:  [3941] setting to a 30 secs run per stressor
stress-ng: info:  [3941] dispatching hogs: 4 cpu
stress-ng: info:  [3941] skipped: 0
stress-ng: info:  [3941] passed: 4: cpu (4)
stress-ng: info:  [3941] failed: 0
stress-ng: info:  [3941] metrics untrustworthy: 0
stress-ng: info:  [3941] successful run completed in 30.01 secs

負荷状態を確認する

topコマンドで確認する

topコマンドを実行後、1を押すことでCPUコアごとの負荷状態を確認できます。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
top - 12:17:18 up  2:20,  2 users,  load average: 0.32, 0.07, 0.02
Tasks: 190 total,   5 running, 185 sleeping,   0 stopped,   0 zombie
%Cpu0  :100.0 us,  0.0 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu1  :100.0 us,  0.0 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu2  :100.0 us,  0.0 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu3  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu4  :100.0 us,  0.0 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu5  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu6  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu7  :  0.0 us,  0.3 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   7934.7 total,   6264.5 free,    555.4 used,   1369.7 buff/cache
MiB Swap:      0.0 total,      0.0 free,      0.0 used.   7379.3 avail Mem

htopコマンドで確認する

htopコマンドを使えばより視覚的にCPUコアごとの負荷状態を確認できます。

image