負荷テスト・スクリプト
pi 4 の負荷によるCPU温度変化を見るために、下記スクリプトをリモートターミナルから実行している。
#!/bin/bash
clear
date
S_TIME=`date +%s`
echo ""
for f in {1..7}
do
vcgencmd measure_temp
sysbench --test=cpu --cpu-max-prime=25000 --num-threads=4 run > /dev/null 2>&1
done
vcgencmd measure_temp
E_TIME=`date +%s`
DiffTime=`expr ${E_TIME} - ${S_TIME}`
ElapsedTime=`date +%M:%S --date=@${DiffTime}`
echo ""
echo "Elapsed Time: ${ElapsedTime}"
echo ""
exit
注:実行には特権ユーザー権限が必要
実際の温度変化は外気温その他の影響を受けるので、表示される温度に絶対的な意味がある訳では無い。
温度変化の推移や、最高温度の範囲を目安としている。
スクリプト実行結果サンプル
スクリプトを実行すると、約1分ごとにCPU温度が表示される。
サーマルスロットリング(規定の温度を超えた際にCPU クロックを落として保護する機能)が起きていない場合は10分少々で実行時間を表示して終了する。
temp=46.0'C
temp=55.0'C
temp=55.0'C
temp=54.0'C
temp=54.0'C
temp=54.0'C
temp=54.0'C
temp=53.0'C
Elapsed Time: 10:17
スクリプトの連続実行
スクリプトの連続実行も最初は手動で行っていたのだけど、面倒になったので途中から下記のようにして実行している。(5回連続)
# for e in {1..5}
> do
> echo $e
> ./bench.sh >> xxxxx.res
> done
注: 負荷スクリプト名を’bench.sh’ としている。
スクリプト参照元
この負荷スクリプトは下記YouTube チャンネルを参考にしている。
このチャンネルはRaspberry pi 4 だけでなく、SBC 関係の情報が豊富でとても参考になる。