Activity, over time
Daily observations from the public event archive.
Attention
Daily stars & forks
Star accumulation
Cumulative stars
Pull requests
Daily opens & merges
Conversations
Daily issues & comments
Community
Daily accounts & reviews
Releases
Daily releases
Trending history
Daily top 10 · last 90 days · UTC
Mentions
Stars
Forks
Contributors
Latest stargazers
The last 10 distinct accounts we observed this year.
Most active participants
PR, issue, comment & review events in the past year.
Packages
No packages found.
Live mentions badge
Show how many posts mention your project in the last 30 days.
Live mentions · last 30 days
Mentions
Pi 3B 2台で家のサーバを回してきた — そろそろ限界、Pi 4/5 を買う前に稼働率を測る 先に結論 家の Pi のうち4台を1週間、5分ごとに測った。CPU はどれも余裕があり、足りないのはメモリだった HAOS 用の Pi 3B は、メモリが平均75%・最大83%。時間帯による差がなく、常にこの水準にいる 買い替えの理由は「速くしたい」ではなく「メモリを増やしたい」だった。Pi 4 の 3GB か 4GB が候補 はじめに サーバは、持つのをやめても意外と困らない。ただ、しばらくすると Linux を触りたくなる。 わが家のサーバは3世代目になる。第一世代は、自室に置いたタワー型の、文字どおりのサーバ機だった。第二世代は、ネット上のクラウドとレンタルサーバ。あるとき、もうサーバは要らないと思ってやめた。 それでもたまに Linux を触りたくなって、小さな Raspberry Pi をおもちゃにした。気がつくとおもちゃが増えて、いまは家に5台以上の Pi が転がっている。この記事は、そのうち実際にサーバとして働いている何台かの話だ。 前置き: 古い Pi 3B サーバ役は Raspberry Pi 3B が2台。1台は自作の監視や通知のサービスをいくつも載せた処理用、もう1台は Home Assistant(HAOS)専用だ。ほかに表示用の Pi 3B が1台と、センサー用の Pi Zero W が1台ある。 Pi 3B は2016年2月の発売で、公式の製品ページによると、前の Pi 2 Model B の後継にあたる。最初に買った Pi は、3B ではなく 2B+ だったと記憶している。6千円ちょっとだった。最初の OS は Raspbian だった。Raspbian は 2020年に Raspberry Pi OS へ改名された(Wikipedia)。 そこから Pi が増えて、いまサーバ役を担っているのが Pi 3B だ。この Pi 3B で、数年のあいだ家のサーバを回してきた。不満が出てきたのは最近だ。ただ、遅いのか、足りないのか、気分で決めたくない。買い替える前に測るのが性分なので、今回も測ってから決めることにした。 Pi 3B と Pi 4・5 比較の物差しとして、公式の製品ページ(3B・4B・5)から主な仕様を並べる。 Pi 3B Pi 4B Pi 5 CPU 4コア 1.2GHz(BCM2837) 4コア 1.8GHz(BCM2711) 4コア 2.4GHz(BCM2712) メモリ 1GB 1/2/3/4/8GB 1/2/4/8/16GB 有線 LAN 100Mbps 1Gbps 1Gbps USB 2.0 ×4 3.0 ×2 + 2.0 ×2 3.0 ×2 + 2.0 ×2 電源 microUSB(2.1〜2.5A) USB-C 5V 3A USB-C 5V 5A CPU の差は大きい。ただ、サーバとして常時動かすときに効くのが CPU なのかは、測らないと分からない。 測り方 自作の LAN 監視ツールが、5分ごとに各 Pi の様子を取っている。 SSH でつなげる Pi からは、/proc/loadavg・free・df・vcgencmd measure_temp を取る CPU は、5分間のロードアベレージをコア数で割って100倍した値にしている。厳密な使用率ではなく、目安だ HAOS は SSH の鍵運用ができないので、Home Assistant の API(System Monitor)から同じ形になるよう取っている 期間は直近の7日間(10月14日〜21日)で、1台あたり約1,950回。下の表は、30分ごとの平均にした336点から出した値だ。つまり「最大」は、30分の平均の最大にあたる。5分より短い山は、ここには出てこない。 結果 役目 CPU 平均 / 最大 メモリ 平均 / 最大 温度 平均 / 最大 処理用(Pi 3B) 3% / 21% 53% / 65% 59℃ / 65℃ HAOS 用(Pi 3B) 14% / 41% 75% / 83% 68℃ / 73℃ 表示用(Pi 3B) 15% / 35% 48% / 61% 55℃ / 64℃ センサー用(Pi Zero W) 27% / 60%* 24% / 26% 44℃ / 47℃ - 最大は再起動の直後。ふだんは30%前後 思ったよりも、どの Pi も CPU は低い。いちばん働いている処理用でも平均3%だった。HAOS 用の14%も、4コアに対するロードアベレージとしては静かな部類だと思う。 目立つのは、HAOS 用のメモリだ。 平均75%、最大83%。7日間で66%を下回った区間はない 時間帯ごとに平均を取っても、74〜75%で平らだった。夜だけ、朝だけ、という山がない 自作ツールの警告線(80%)を、7日で4回またいだ つまり、一時的に増えているのではなく、常にこの水準にいる。1GB の Pi 3B には、Home Assistant 本体とアドオンだけで余裕がない、という理解でいる。 気になること HAOS 用だけ、取得に失敗した区間がある。7日間で19区間(30分単位)だった。うち10月16日朝の2区間は、監視している側の処理用 Pi 自身が再起動した時間の前後にあたる。残りの17区間は原因を切り分けていない。 体感では、HAOS が再起動を繰り返しているように見える。メモリ不足が原因ではないかと疑っていたが、ここは推測にとどまる。HAOS 側のログを見て確かめてから書き足したい。 温度と再起動の関係を調べた 「温度と再起動に関係があるのでは」というコメントをもらったので、同じ監視データで調べた。公開前に取り直した直近7日(10月13日〜20日)では、HAOS 用の失敗区間は21(30分単位)だった。表の期間とは少しずれる。 失敗の直前: 温度は平均67.9℃で、ふだんの平均67.5℃とほぼ同じ。メモリも平均73.9%で、ふだんの74.5%と同じ。80%の警告線にも届いていなかった 失敗の直後: 最初に取れた値で、メモリが62〜64%に下がり、CPU が約30〜43%、温度が72〜76℃に上がる例があった。再起動した直後の動きに見える。温度は再起動の原因ではなく、結果に見える HAOS 用の最高温度: 7日間で72.8℃。監視の警告線(80℃)には届かなかった 処理用の83.3℃(10月15日朝)も、再起動とは結びつかなかった。その前後は CPU が30分平均で17〜21%と、ふだんの3%前後より高く、処理の負荷が重なった瞬間だったと考えている(推測)。次の再起動は約24時間後の10月16日朝で、そのときの温度は58℃だった。 気になるのは、その朝のことだ。処理用の再起動の約6分後に、表示用の Pi も再起動している。表示用には低電圧の記録が残っている。2台が続けて落ちているので、温度ではなく、電源まわりの共通の原因を疑っている。こちらも未確認だ。 つまり、温度は再起動の原因には見えない。HAOS の再起動も、直前のメモリはふだんと同じで、メモリ不足とは言い切れなくなった。原因の候補は、HAOS 側のログと電源まわりの両方に残っている。 限界はどこか 測る前は「そろそろ限界」を、CPU が遅いからだと思っていた。実際には、CPU はほとんど使っていない。足りないのはメモリで、しかも HAOS 用の1台だけだ。 だとすると、買い替えの理由は「速い Pi 5 にしたい」ではなく「メモリを増やしたい」になる。候補は Pi 4 の 3GB か 4GB だ。Pi 5 の CPU は、いまのところ使い道がない。 皮肉なのは、そのメモリが値上がりしていることだ。Raspberry Pi は、メモリの価格が2年で大きく上がったとして、10月1日に 2GB の Pi 4 と Pi 5 を12.5ドル値上げした(公式ブログ「Price increases for 2GB Raspberry Pi 4 and Raspberry Pi 5」、ニュース一覧)。4月の値上げでは、1GB と 2GB を据え置いて、容量の大きいモデルを上げていた。同じ記事は、低価格で済む用途には 3B のような古いモデルを勧めている。 もう1つ、OS 側にも期限がある。Home Assistant OS は 17.0 で、32bit の Pi 3 向け(rpi3)の更新をやめた(リリースノート)。わが家の HAOS は uname -m が aarch64 の64bit版だったので、この件で更新が止まる心配はなかった。 おわりに 測ってみて、買い替えの理由が変わった。遅いから買う、のではなく、メモリが足りないから買う。残りの Pi 3B は、まだ働ける。 まだ1週間分しかない。買う前にやることが4つある。電源は、買い換える前に疑っておく順番だと思う。 HAOS のアドオンを少し削って、メモリが下がるかを同じ物差しで測り直す Pi の置き場所の風通しを見直して、温度の山が変わるかを見る 電源まわり(アダプタの容量・ケーブル・低電圧の記録)を調べる。Pi 3B の電源は microUSB で、公式は 2.1A を目安にしている。電源が弱いだけなら、買い替えなしで直るかもしれない HAOS 側のログを調べて、再起動の原因を確かめる Pi 4 に移したら、同じ物差しで測り直して並べるつもりだ。 CPU の出し方(ロードアベレージ÷コア数)や、HAOS のメモリの見方に間違いがあれば、コメントで教えてもらえると助かる。確かめてから記事に追記する。