Raspberry Pi 4Bは前世代より大幅に変更され性能が向上し話題になりました。その代わり発熱や消費電力も大きくなったということも弊害としてあったわけです。ほかの方だと大体何度だったとか、あやふやな言い方であったりとか、コマンドを数回実行しただけでこの温度と言っている方ばかりなので厳密にデータを取ってみて安定性を検証します。レビューとは言いますが、フォトレビューではなく、温度を測定してケースの性能を見るということなので悪しからず。では始めます。
目次
環境
始めに、ヒートシンクを兼ねたメタルケースですが私は海外通販にてこんなのを買いました。今回のこのケースは外の金属部分が中のCPU部分とメモリと電源IC部分に接触して放熱してくれるタイプのものです。ものによってはUSBハブチップとか、LANチップも合わして冷やしてくれるものもあるようですが、今回使うケースは上述のチップは冷やしてくれません。
他のシステム環境は、以下のようになっています。
- Raspberry Pi 4B 4GB
- Raspbian 32bit
- microSD : SanDisk Industrial 16GB
- USB type-cから給電
- USB機器の接続はなし
- Wi-Fiによって接続し、xrdpを使ってリモートデスクトップ接続
- ファンなし
- 特にものがたくさんあるわけでもない机の上において実験
必要な環境はざっとこれぐらいでしょうか。
あと室温は真夏のクーラーなしの部屋で30°Cとなっています。なのでこれ以上熱くなることはないだろうと踏んでの実験です。去年4Bが販売開始されて、購入したのが10月とかなので、もっとも過酷な時期にこの手の測定をしておきたかったというのが今回の測定の動機ですね。
測定方法
測定に際して、ツールはtmchkを使います。tmchkに関しては以下をご覧ください。
次に実験方法ですが、負荷を100%になるようにかけて、その間に温度がどのように変化するのかを計測します。測定時間は20分、最初の約15秒ほどは負荷をかけずに測定し、15秒経過後に負荷をかけるコマンドを実行し変化を見ます。また、サンプリング周期は3秒で計測します。なのでtmchkのコマンドは以下のようにして計測します。今回は、各グラフを分けて出力するので、"--separate"オプションを用います。
tmchk 3 20 /home/pi/test.png --separate
今回負荷をかけるのは実用性を重視するということで、マイニング用のコマンドを使います。実用的なので思いつくのがこれというだけで、負荷をかけるコマンドならなんでも同じような結果になると考えられます。では結果を発表していきます。
測定結果と考察
CPU温度、使用率、動作周波数の変動は以下のグラフようになりました。
まず先頭15秒分は測定方法で示した通り負荷をかけていないので、アイドル状態からのスタートになっています。これによると、アイドル時の温度は45°C前後になっています。手でケースを触ってもぬるいなと言った感じです。tmchkの実行が始まると、実行中は多少負荷がかかってしまうので20から10%の間で使用率は推移しますが、仕方ないことです。ただそれぐらいの負荷の間だとあまり温度に変動はありません。
次に負荷をかけたときについてみていきます。CPU温度のグラフを見てもらえばわかるかと思いますが、概ね70°C前後で収まりました。Raspberry PiのCPUのサーマルスロットリングがかかる温度は80°Cが閾値になっているため、10°C程度余裕をもって性能を発揮できているということが読み取れます。サーマルスロットリングが発生すると、CPU動作周波数を引き下げるのですが、図を見てもらえばわかるかと思いますが、一度も下がっておらず、正常に性能を最大限発揮できていることがこちらからも裏付けられます。当然CPU使用率は100%張り付きですね。あとは、温度の上がり方が非常にゆっくりなのがいいなと思いました。Windowsのデスクトップなどで高性能なマシンを使うとあっという間に温度が漸近するようなライン近く上がってしまうのですが、20分計測してこれだけゆっくり上がるというのは変に熱が一気に出るということもないので安心できます。一時的に100%まで使い切ってもそんなに温度が上がらないということですか、非常に安定していると言えるでしょう。場合によっては一時的に負荷がかかるようなサーバ運用に非常に向いてますね。
さて少し気になる方もいると思いますが、ここが本当に温度の最大の場所なのかということです。緩やかに上がっていくことがこれによって示されたわけですが、まだゆっくり上がり続ける可能性があります。ということで、調べてみます。違う日にとったデータなので若干部屋の温度などの条件も変わってしまっているとは思いますが、一応温度計だと室温は30°Cでした。その結果をいかに示します。計測時間は2時間にしました。加えて、アイドル時をわかりやすくするためにコマンド開始時間をずらしています。
このグラフよりほぼ70°Cに漸近していると考えてよいでしょう。そのため結果は変わらずサーマルスロットリングには10°Cほど余裕があり、非常にアルミケースによって安定した温度での運用が可能になると結論付けられます。
逆に言えば、10°Cしか余裕がないとも取れますね。なぜならヒートシンクを兼ねたアルミケースを用いてこれなので、小さなヒートシンクだったり、そもそもヒートシンクを用いなければ簡単に80°Cを超えてサーマルスロットリングを起こしてしまうでしょう。この機能はCPUや基盤を守るための機能であって、これを頼りにしてガンガン使うとRaspberry Piがすぐに壊れる可能性が高いです。つまりCPU使用率を100%にするような使い方であってもそうでなくても、そういった危険な領域に踏み込む可能性があるので、ヒートシンクを兼ねたアルミケースをRaspberry Pi 4Bには付けておいたほうがいいと結論付けます。もちろんファン付きケースであればその限りではありません。ですが、ファンというものはいつか壊れますから、壊れたのに気づかず使っていてそのせいで壊れたなんて面倒なので、個人的にはファンなしで使うことを前提としたヒートシンクを兼ねたアルミケースの着用をおすすめします。
レビュー兼実験は以上となります。お読みいただきありがとうございました。