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
20
Raspberry Piの温度管理をソフトウェアで
Kenichiro MATOHARA
September 13, 2020
Tweet
Share
More Decks by Kenichiro MATOHARA
See All by Kenichiro MATOHARA
小さなLinux互換カーネルのTilck
matoken
0
10
機械翻訳をローカルマシンで( ArgosTranslate/LibreTranslate )
matoken
0
130
OpenAIのWhisper でオフライン文字 起こし(STT)
matoken
0
81
Wikipedia を Offlineで楽しむ
matoken
0
62
Intel CPUでもAIに画像生成してもらう
matoken
0
150
AndroidスマートフォンのTermuxでモバイル回線の速度を定期的に計測
matoken
0
80
XFSのbigtimeを少し試してみた(RHEL9 & ML8.4)
matoken
0
42
ターミナルワークスペースのZellij
matoken
0
200
XFSのbigtimeを少し試してみた
matoken
0
110
Other Decks in Technology
See All in Technology
Oracle Transaction Manager for Microservices Free 22.3 製品概要
oracle4engineer
PRO
5
110
マイクロサービス宣言から8年 振り返りとこれから / Eight Years After the Microservices Declaration A Look Back and A Look Ahead
eisuke
2
170
都市ARの作り方 PLATEAU ✖︎ Geospatial API
41h0_shiho
0
260
CUEとKubernetesカスタムオペレータを用いた新しいネットワークコントローラをつくってみた
hrk091
1
290
もし本番ネットワークをまるごと仮想環境に”コピー”できたらうれしいですか? / janog51
corestate55
0
390
AI Builderについて
miyakemito
1
970
230125 古いタブレットの活用 かーでぃさん
comucal
PRO
0
17k
AWS Cloud Forensics & Incident Response
e11i0t_4lders0n
0
410
01_ユーザーリサーチ実施の進め方
kouzoukaikaku
0
670
Deep Neural Networkの共同学習
hf149
0
330
Hatena Engineer Seminar #23 「チームとプロダクトを育てる Mackerel 開発合宿」
arthur1
0
610
DNS権威サーバのクラウドサービス向けに行われた攻撃および対策 / DNS Pseudo-Random Subdomain Attack and mitigations
kazeburo
5
1.3k
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
29
7.9k
What's new in Ruby 2.0
geeforr
336
30k
Learning to Love Humans: Emotional Interface Design
aarron
263
38k
Three Pipe Problems
jasonvnalue
89
8.9k
Imperfection Machines: The Place of Print at Facebook
scottboms
254
12k
Git: the NoSQL Database
bkeepers
PRO
419
60k
The Art of Programming - Codeland 2020
erikaheidi
36
11k
Building Flexible Design Systems
yeseniaperezcruz
314
35k
Happy Clients
brianwarren
90
5.8k
Designing for humans not robots
tammielis
245
24k
Side Projects
sachag
451
37k
Intergalactic Javascript Robots from Outer Space
tanoku
261
26k
Transcript
Raspberry Pi Raspberry Pi の温度管理を の温度管理を ソフトウェア ソフトウェア で で
Doc Writer <
[email protected]
> 1 / 22
Kenichiro Kenichiro Matohara(matoken) Matohara(matoken) 鹿児島から参加 好きなLinuxディストリビューションはDebian 6月に申し込んだRakuten miniで上り改善……未だ 来ないでもキャンペーンやってる お仕事募集
mailto:
[email protected]
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