Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
Raspberry Piの温度管理をソフトウェアで
Kenichiro MATOHARA
September 13, 2020
Technology
0
8
Raspberry Piの温度管理をソフトウェアで
Kenichiro MATOHARA
September 13, 2020
Tweet
Share
More Decks by Kenichiro MATOHARA
See All by Kenichiro MATOHARA
matoken
0
10
matoken
0
7
matoken
0
11
matoken
0
4
matoken
0
14
matoken
0
9
matoken
0
6
matoken
0
22
matoken
0
14
Other Decks in Technology
See All in Technology
uzabasetech
0
120
hayatan
0
200
koukyo1994
5
1.1k
dena_tech
9
2.4k
koukyo1994
3
510
youtalk
0
420
pg0084
1
130
ayanadesu
0
400
ryomasumura
0
100
zak3
1
200
iwashi
1
200
1027kg
0
200
Featured
See All Featured
cassininazir
347
20k
sachag
267
17k
myddelton
109
11k
chriscoyier
779
240k
lara
15
2.7k
dougneiner
118
7.9k
sachag
446
36k
brianwarren
82
4.7k
orderedlist
PRO
328
36k
matthewcrist
73
7.5k
ammeep
655
54k
jeffersonlam
329
15k
Transcript
Raspberry Pi Raspberry Pi の温度管理を の温度管理を ソフトウェア ソフトウェア で で
Doc Writer <matoken@kagolug.org> 1 / 22
Kenichiro Kenichiro Matohara(matoken) Matohara(matoken) 鹿児島から参加 好きなLinuxディストリビューションはDebian 6月に申し込んだRakuten miniで上り改善……未だ 来ないでもキャンペーンやってる お仕事募集
mailto:work@matohara.org https://matoken.org 2 / 22
Raspberry Pi Raspberry Pi 多分今一番有名なSBC 入手性がよく情報も多い 元々教育向けだったけどホビーや組み込みにも モデルが沢山ある 3 /
22
今回の環境 今回の環境 Raspberry Pi 3 model B Raspberry Pi OS
arm64(β) と armhf 4 / 22
省電力なので計算を任せ 省電力なので計算を任せ て放置したりしがち て放置したりしがち CPU 100% x4 夏前までは問題なく動いていたが夏になって固まる ように 5
/ 22
まずはログを撮る まずはログを撮る crontabで1分毎に情報を記録 UNIX Time date +%s SoC温度 /sys/class/thermal/thermal_zone0/temp スロットリング周りのフラグ
vcgencmd get_throttled arm周波数 vcgencmd measure_clock arm (外気温度も取るべきだった) * * * * * printf "`date +\%s`,`cat /sys/class/thermal/thermal_zone0/temp`,`echo "o 6 / 22
負荷を掛ける 負荷を掛ける 今回のテストで使った負荷(いつもはvanity address/vttとかとか) $ cat /dev/urandom > /dev/null &
$ cat /dev/urandom > /dev/null & $ cat /dev/urandom > /dev/null & $ cat /dev/urandom > /dev/null & 7 / 22
温度の問題みたい? 温度の問題みたい? 既定値ではCPU(SoC)がの温度が85度までに設定さ れている CPU温度80度(制限設定温度-5度)からスロットリン グ CPU温度85度を越えると固まっているように見え る…… 外気が35度を越えると駄目な感じ 8
/ 22
OSの問題? OSの問題? Raspberry Pi OS arm64(β)を使っていたのでそのせい かと思いarmhf版に入れ替え→ 固まるまでの時間が 伸びたがやっぱり固まる 9
/ 22
正攻法 正攻法 ヒートシンク,ファンの増設 空調 10 / 22
金欠なのでとりあえずソ 金欠なのでとりあえずソ フトだけでどうにか フトだけでどうにか 11 / 22
SoC制限温度を下げる SoC制限温度を下げる 85度はちょっと高そう 70度以下にしたほうがいいという書き込みを見か けたので70度に設定 /boot/config.txt でパラメータを設定できる まあ固まる temp_limit=70 12
/ 22
SoCの最大周波数を下げ SoCの最大周波数を下げ てみる てみる まあ固まる arm_freq=800 13 / 22
SoCの最小周波数を下げ SoCの最小周波数を下げ てみる(これが効くので てみる(これが効くので は?) は?) 600MHz以下には設定できないみたいでやっぱり固ま る…… arm_freq_min=400 $
vcgencmd get_config int | grep arm_freq arm_freq=800 arm_freq_min=600 14 / 22
Raspberry Pi のスロッ Raspberry Pi のスロッ トリングでは無理そう トリングでは無理そう 600MHz以下に下げられない &
600MHzにスロットリ ングされても固まる 15 / 22
cpulimit cpulimit シグナルを使ってプロセスの制限を行う cat からはじまるプロセスを50%に制限 温度が下がるのを確認 :) $ pgrep ^cat
| xargs -n1 -I{} sh -c "cpulimit -p {} -l 50 -v &" 特定プロセスのcpu利用率を制限するcpulimitを試す – matoken’s meme 16 / 22
とりあえずcpulimitで行 とりあえずcpulimitで行 けそう けそう 温度を見張って温度が高くなったらcpulimitを有効 に 温度が下がったら戻す 17 / 22
来夏に実戦投入? 来夏に実戦投入? 現在は100% x4でも固まらない 18 / 22
その他のパラメータ(未確 その他のパラメータ(未確 認) 認) arm_freq 以外のパラメータ gpu_freq, core_freq, h264_freq, isp_freq,
v3d_freq, sdram_freq, over_voltage, over_voltage_sdram…… 調べるのちょっと大変かも(不安定になりそう) https://elinux.org/RPicon g#Overclocking_options 19 / 22
そもそも そもそも 空調入れたい 20 / 22
発表時のツッコミとか 発表時のツッコミとか cpufreqでクロック制御できるよ Raspberry pi だと色々いじったことぼくもあります (ボルトさげると電流下がるんですけどそのうち起動 しなくなったりするのでたのしいですね) (Wi が動かなくなったり)
僕も熱で困っていた事があるので、cpulimit今度試 してみようと思います。有難うございました。 boot/cmdline.txtでmaxcpusが指定できるようで す。 https://uzulla.hateblo.jp/entry/2018/05/04/163608 21 / 22
奥付 奥付 発表 2020-09-13(Sun) 発表者 ライセンス CC BY-NC-SA 4.0 日本Androidの会秋葉原支部ロボット部
第96回 勉強会 Kenichiro Matohara(matoken) 22 / 22