CPU負荷テストで単調なグラフだとつまらないので、正弦波っぽくするスクリプトを作ってみた。

stressコマンドで負荷テストをしても、高負荷で単調なグラフしかできないため、面白くないと感じていました。そこで、正弦波のように負荷のグラフが出力されるような(雑な)スクリプトを作成ました。

必要なものはstress-ngだけです。

(ubuntu)#apt install stress-ng

変数の説明
#stress count 山の数(繰り返す回数)
#time interval(sec) 負荷をかける時間
#stress interval (1,2,5,10,20,25,50) 一度に上昇、下降する負荷(%)

#!/bin/bash
#stress count
stcon=3

#time interval(sec)
tmin=300

#stress interval (1,2,5,10,20,25,50)
stin=25

#processor count
num=`grep "processor" /proc/cpuinfo | wc -l`

st=$stin

for i in `seq $stcon`
do
   while [ $st -le 100 ]
   do
      stress-ng --cpu "$num" -l "$st" -t "$tmin"s
      echo $st
      st=`expr $st \+ $stin`
   done
   st=`expr $st \- $stin`
   st=`expr $st \- $stin`
   while [ $st -gt 0 ]
   do
      stress-ng --cpu "$num" -l "$st" -t "$tmin"s
      echo $st
      st=`expr $st \- $stin`
   done
done

上記でできるグラフがこれです。全然、正弦波じゃないじゃん!って突っ込みは却下します。

できたグラフはカクカクしてますが調整すればキレイなグラフができると思います。
時間なかったため行っていません。