opesslやstressコマンドを使ってCPUの使用率を上げる方法

記事内に広告が含まれています。

テストを行う等で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

コメント

タイトルとURLをコピーしました