テストを行う等でCPUの使用率を意図的に上げたい場合、「openssl」や「stress」コマンドを使用してCPU使用率をあげる方法を紹介します。
動作検証は「AlmaLinux9」で行っています。
CPU使用率をあげる方法
CPU使用率を上げる方法として、以下の方法を紹介します。
- openssl speed -multi コア数
- stress -c コア数
openssl speed -multi コア数
「openssl speed」コマンドは、暗号化アルゴリズムの速度を測定するコマンドで、「-multi」オプションを使用すると指定した数のコアを使用して処理を行うことができます。
openssl speed -multi コア数
「getconf _NPROCESSORS_ONLN」コマンドはホストのコア数を取得することが出来るので、取得したコア数分のCPU使用率を上げることができます。
openssl speed -multi `getconf _NPROCESSORS_ONLN`
コマンドを停止する場合は「Ctrl」+「c」を押下して下さい。
実行例
実際にopenssl speed -multi `getconf _NPROCESSORS_ONLN`を実行してみます。
# openssl speed -multi `getconf _NPROCESSORS_ONLN` Forked child 0 Forked child 1 Forked child 2 +DT:md5:3:16 +DT:md5:3:16 +DT:md5:3:16 ### 省略 ### ^C # 「Ctrl」+「C」で終了
topコマンドを使用して確認すると、CPU使用率が上がっていることが確認できます。
$ top top - 11:58:43 up 30 days, 18:58, 2 users, load average: 0.66, 0.15, 0.05 Tasks: 130 total, 4 running, 126 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 : 99.3 us, 0.3 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.3 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 MiB Mem : 1774.2 total, 919.3 free, 367.0 used, 674.2 buff/cache MiB Swap: 0.0 total, 0.0 free, 0.0 used. 1407.2 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2425769 root 20 0 10160 3620 2688 R 99.7 0.2 0:14.19 openssl 2425770 root 20 0 10160 3620 2688 R 99.7 0.2 0:14.22 openssl 2425771 root 20 0 10160 3748 2816 R 99.7 0.2 0:14.21 openssl ### 以下省略 ###
コア数を指定した場合
使用するコア数を「1」と指定して実行してみます。
# openssl speed -multi 1 Forked child 0 +DT:md5:3:16 +R:11424494:md5:3.000000 +DT:md5:3:64 +R:8140897:md5:3.000000
「top」コマンドで確認すると、1つのコアだけ使用率が上昇していることがわかります。
$ top top - 17:31:20 up 31 days, 31 min, 2 users, load average: 0.15, 0.03, 0.01 Tasks: 131 total, 2 running, 129 sleeping, 0 stopped, 0 zombie %Cpu0 : 0.3 us, 0.0 sy, 0.0 ni, 99.7 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 : 0.3 us, 0.0 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st MiB Mem : 1774.2 total, 914.3 free, 374.6 used, 671.7 buff/cache MiB Swap: 0.0 total, 0.0 free, 0.0 used. 1399.6 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2446479 root 20 0 10160 3620 2688 R 99.7 0.2 0:07.71 openssl 18 root 20 0 0 0 0 I 0.3 0.0 6:26.84 rcu_preempt 955 root 20 0 259148 23860 16896 S 0.3 1.3 58:19.12 NetworkManager
stress -c コア数
stressコマンドは、CPUやメモリ、I/O、ディスクなどのリソースをテストするためのツールです。
「Almalinux9」の場合、「stress」コマンドはepelリポジトリからインストールすることができます。
「EPEL」リポジトリのインストールについては、下記ページで行っていますのでよければ参照してみてください。
https://www.server-memo.net/almalinux/almalinux9_epelrepo.html
# dnf --enablerep=epel install stress
「stress」コマンドの「-c」 オプションを使用することで、CPUの使用率を上げることができます。
停止させる場合は、「Ctrl」+「C」キーを押下して下さい。
stress -c コア数
「getconf _NPROCESSORS_ONLN」コマンドはホストのコア数を取得することが出来るので、取得したコア数分のCPU使用率を上げることができます。
stress -c `getconf _NPROCESSORS_ONLN`
実行例
実際にstress -c `getconf _NPROCESSORS_ONLN`を実行してみます。
# stress -c `getconf _NPROCESSORS_ONLN` stress: info: [2426067] dispatching hogs: 3 cpu, 0 io, 0 vm, 0 hdd ^C # 「Ctrl」+「C」で終了
topコマンドを実行すると、CPU使用率が上がっていることが確認できます。
$ top top - 12:02:20 up 30 days, 19:02, 2 users, load average: 0.32, 0.28, 0.13 Tasks: 130 total, 5 running, 125 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 MiB Mem : 1774.2 total, 919.5 free, 366.5 used, 674.6 buff/cache MiB Swap: 0.0 total, 0.0 free, 0.0 used. 1407.7 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2426068 root 20 0 3516 256 256 R 99.1 0.0 0:06.06 stress 2426069 root 20 0 3516 256 256 R 99.1 0.0 0:06.05 stress 2426070 root 20 0 3516 256 256 R 99.1 0.0 0:06.06 stress 1 root 20 0 171872 13952 9856 S 0.0 0.8 1:06.58 systemd
コア数を指定した場合
使用するコア数を「1」と指定して「stress」コマンドを実行してみます。
# stress -c 1 stress: info: [2426375] dispatching hogs: 1 cpu, 0 io, 0 vm, 0 hdd ^C
「top」コマンドで確認すると、1つのコアだけ使用率が上昇していることがわかります。
$ top top - 12:08:26 up 30 days, 19:08, 2 users, load average: 0.15, 0.17, 0.13 Tasks: 125 total, 2 running, 123 sleeping, 0 stopped, 0 zombie %Cpu0 : 99.7 us, 0.0 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.3 si, 0.0 st %Cpu1 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu2 : 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 : 1774.2 total, 906.4 free, 379.6 used, 674.7 buff/cache MiB Swap: 0.0 total, 0.0 free, 0.0 used. 1394.6 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2426376 root 20 0 3516 256 256 R 100.0 0.0 0:09.85 stress 955 root 20 0 259148 23860 16896 S 0.3 1.3 57:54.20 NetworkManager 1 root 20 0 171872 13952 9856 S 0.0 0.8 1:06.60 systemd
コメント