はじめに
Linux環境でCPUのストレステストをしようと思った時、一番簡単な方法はyes > /dev/null
だと思います。
ただしこのコマンドには弱点があって、CPUのコア数が2以上の時は、複数プロセスを同時に実行した後、killコマンドでプロセスを強制的に止めることになります。
【Linux】stressコマンドを使わずに手軽にCPU負荷をかける方法
そこでLinuxで手軽にCPU負荷をかける方法をまとめてみたで紹介されているopenssl
コマンドを使って、CPUの論理コア数(スレッド数)を加味してCPUのストレステストを実行できるスクリプトを作ってみました。
作成したスクリプト
#!/bin/bashfunction usage {cat<<EOS$(basename${0}) is a cpu stress test tool for multi-core processor.
Usage:
$(basename${0}) [<options>]
Options:
-n using n cores in stress test. default is `grep processor /proc/cpuinfo | wc -l`.
EOS
}CPU_THREADS=`grep processor /proc/cpuinfo | wc-l`while getopts n:h OPT
do
case$OPTin"n")CPU_THREADS="$OPTARG";;"h") usage;exit 0
;;esacdone
echo"using "$CPU_THREADS" cores in stress test."
openssl speed -multi$CPU_THREADS> /dev/null 2>&1
使い方
- コマンドのオプションは
-h
と-n
の2つです。-h
オプションを使うと、コマンドのオプションに関する説明が表示されます。-n
オプションでストレステストに使用する論理コア数(スレッド数)を指定できますが、何も指定しない時はこのOSに割り当てられているCPUの論理コア数(スレッド数)を全て使ってストレステストを実行します。- コマンドのオプションを表示した例では「default is 8.」と表示されていますが、これはこのOS(仮想マシン)に割り当てられている論理コア数が8個となっているためです。
コマンドのオプション
[root@akagi ~]#./cpu_stress_test.sh -hcpu_stress_test.sh is a cpu stress test tool for multi-core processor.
Usage:
cpu_stress_test.sh [<options>]
Options:
-n using n cores in stress test. default is 8.
CPUストレステストの実行
[root@akagi ~]#./cpu_stress_test.sh -n 2
using 2 cores in stress test.