Raspberry Piでコマンドをゆっくりマスタしよう (7) CPUの温度
■CPUの温度を監視したい
よくCPUに放熱器をつけた写真を見ます。CPUが目いっぱい働いたときにどのくらいまで温度が上がるのか心配です。
2016年2月26日以降のJessieでは、GUIの設定でパフォーマンスのタブにあるオーバークロックは選択できなくなっています。
ただし、従来から、オーバークロック周波数を/boot/config.txtに記述すれば、CPUが忙しくなると、その周波数までクロックアップされます。
#arm_freq=800 |
config.txt内に書かれたこの行の先頭にある#を削除します。800は800MHzのことです。Raspberry Pi zeroは1GHzだとして発表されたので、1000を入れます。
ターミナルを立ち上げてエディタnanoを起動します。
sudo nano /boot/config.txt |
nanoはスクリーン・エディタです。カーソル・キーで、修正したいところまでカーソルを動かし、Delキーで左側の文字が消え、アルファベットのキーを打つとそのまま挿入されます。修正が終わると、Ctrl+Oで上書きします。Ctrl+Xでnanoエディタを終了します。
cat /boot/config.txt |
で修正を確認したら、リブートします。現在、ユーザpiの権限でrebootができます。
reboot |
●クロック
いま、いくらの設定で動いているかは下記のファイルに書かれているようです。表示するにはターミナルでcatコマンドを使います。
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq |
インテルCPUの中でもモバイル用は頻繁にクロック周波数を落とします。Raspberry Piに使われているARM系はモバイル前提のプロセッサですから、CPU負荷が軽くなるとすぐにクロックをデフォルトまで下げ、消費電力を少なくします。
●温度
CPUの温度は、下記のコマンドで表示します。
vcgencmd measure_temp |
●連続で表示する
クロックと温度を連続で表示するシェル・スクリプトを動かします。
Menuからアクセサリにあるテキスト・エディタを起動します。下記のテキストを入力します。
#!/bin/sh |
入力が終わったら、保存します。ファイル名はondo.shとし、ディレクトリはpiにします。
ターミナルを立ち上げ、lsコマンドで、ondo.shがpiのディレクトリに存在していることを確認します。
chmod 775 ondo.sh |
実行権を付与します。
ls -l |
で、実行権が付いていることを確認します。
./ondo.sh |
で温度とクロックを表示します。終了はCtrl+Cです。CPUが遊んでいるときは700MHzで、忙しくなったら1GHzに変わることが確認できます。
1GHzでうごき続けると、CPUの温度はだんだん高くなります。デフォルトでtemp_limitは85℃に設定されているので、高温になるとクロックダウンします。/boot/config.txtにtemp_limit=40 などと低めを書いておくと、負荷が高くなってもクロックは低めに保たれます。
Zeroを室温18℃時、CPU負荷100%で30分走らせました。41度付近で温度上昇は止まっていました。USB周辺機器などをたくさん使うといろいろな部分で発熱します。使用条件のなかで周辺の温度が高いときには、temp_limitやarm_freqを適切に設定して安全に動くように管理します。