シングルボードコンピュータのCPUクロック変更や温度表示コマンド覚書

シングルボードコンピュータを使っていて。

CPUの温度を調べたり。

熱暴走しやすい個体の、クロック数を変更したり。

そのようなコマンドを記録しておこうと思います。


温度表示

CPUや基板の温度を℃表示するコマンドを作ってみました。scaleの場合、小数点3桁以降は切捨てになるようです。

echo "scale=2;`cat /sys/class/thermal/thermal_zone0/temp` / 1000" | bc -l
echo "scale=2;`cat /sys/class/thermal/thermal_zone1/temp` / 1000" | bc -l

CPU動作周波数確認

cpufrequtilsをインストールしました。

sudo apt install cpufrequtils

コアごとのcpu情報表示

cpufreq-info

ポリシー表示

CPU周波数の下限と上限、どのような変更方法かを表示します。

cpufreq-info -s

統計表示

どの周波数が使用されたかステータスを表示します。

cpufreq-info -s

こちらはRaspberry Pi Zero Wの例になります。CPU周波数は700MHzから1GHzの範囲で、on demand(適用的に)変化するようです。

こちらは最大クロックを1008MHzにクロックダウンした、NanoPi M4の例になります。最小クロックは600MHzを指定したのですが、統計を見ると、408MHzで動作する場合もあるようです。多くは600MHzから1008MHzの範囲で動作しているようですが、1416MHzや1512MHzで動作する場合もあるようです。

CPU周波数変更

シングルボードコンピュータの種類によって、CPU周波数を変更できるものもあるようです。

NanoPi M4でArmbianを動かした場合。既定のCPU周波数は600MHzから2016MHzで動作しますが、/etc/default/cpufurequtilsファイルを変更することで、上述のように上限を1008MHzに変更したり、下限を変更することも可能のようです。

sudo vi /etc/default/cpufrequtils

このような感じでMIN_SPEEDやMAX_SPEED等の設定値を変更することで、動作周波数を調整できるようです。


たとえばシングルボードコンピュータが熱暴走で動作が不安定だったり。

消費電力を抑える場合など、これらのコマンドで解析後、CPUの温度を調整することで、対応ができそうです。

何か他の便利なコマンドがありましたら、追記させて頂こうと思います。

スポンサーリンク