Linuxで単一/複数CPUコアに負荷をかける
以前にLinux の指定数 CPU コアに負荷をかけるというメモを書きました。この過去のメモで触れた方法も含め、改めて「Linuxで単一/複数CPUコアに負荷をかける」方法をメモしておきます。
検証環境¶
| 対象 | バージョン |
|---|---|
| Ubuntu | 26.04LTS |
負荷をかける¶
yesコマンドで単一コアに負荷をかける¶
単一CPUコアに対して手軽に負荷をかけるにはyesコマンドを利用します。
openssl speedコマンドで複数コアに負荷をかける¶
複数CPUコアに対して負荷をかけるにはopenssl speedコマンドを利用します。-multiオプションに続けて負荷をかけたいCPUコア数を指定します。
stress-ngで負荷をかける¶
追加インストールが必要ですがstress-ngを利用して負荷をかけることも出来ます。Ubuntuであれば標準リポジトリからインストールできます。
「4CPUコアに対して30秒間だけ、負荷をかける」場合は以下のように実行します。
実際の実行例は以下です。指定時間が経過すると自動的にツールが終了します。
# 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コアごとの負荷状態を確認できます。
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コアごとの負荷状態を確認できます。
