ラズパイのmicroSD延命設定、いまのOSでは半分通りません|実測で確かめた

microSDの延命設定が、OSの世代によって通らなくなっていることを示したイメージ図 ITライフハック
この記事は約7分で読めます。
当ページはプロモーションが含まれています

Raspberry Pi を長く動かしていると、ある日そのまま起動しなくなります。

原因の多くは、microSDカードの寿命です。書き込み回数に上限があるので、OSやログが毎日書き続けていると、いつか限界が来ます。

対策を検索すると、たくさん記事が出てきます。そして、どれも同じ3つを書いています。

1. スワップを無効化する
2. ログや一時ファイルをメモリ上に置く
3. ログの出力を減らす

手元の機体で、順に試してみました。

1つ目と3つ目が、そもそも実行できませんでした。

よく紹介されている3つの延命設定のうち、新しいOSでは2つが実行できないことを示した図

スポンサーリンク

測った環境

2つの世代で確認しました。 2026年8月の実測です。

bookworm(Debian 12) trixie(Debian 13)
スワップの仕組み dphys-swapfile zram
スワップの大きさ 100MB(ファイル) 2GB(圧縮)
rsyslog なし なし
/etc/rsyslog.conf なし なし
/var/log の場所 microSD上 microSD上
ログの使用量 64MB 128MB

Raspberry Pi OS は、2025年10月に trixie へ上がりました。 ここで、いくつかの前提が変わっています。

スポンサーリンク

1つ目:スワップの無効化

よく紹介されている手順

sudo swapoff --all
sudo systemctl stop dphys-swapfile
sudo systemctl disable dphys-swapfile

これが、trixie では通りません。

trixie で確認した結果

$ systemctl is-active dphys-swapfile
なし

サービス自体が存在しません。

代わりに、こうなっていました。

NAME       ALGORITHM DISKSIZE DATA COMPR TOTAL STREAMS MOUNTPOINT
/dev/zram0 zstd            2G   4K   69B   48K       4 [SWAP]

zram という仕組みに置き換わっています。

bookworm では、まだあります

Filename        Type   Size     Used  Priority
/var/swap       file   102396   0     -2

設定ファイルの中身は、有効な行が1つだけでした。

$ grep -v '^#' /etc/dphys-swapfile | grep .
CONF_SWAPSIZE=100

100MB です。 microSDカード上のファイルとして確保されています。

zram だと、何が違うのか

置き場所が違います。

これまでのスワップは、microSDカードの上にファイルを作って使っていました。そこに書き込むので、カードが消耗します。

zram は、メモリの中に作ります。 データを圧縮して、メモリの一部をスワップとして使う。

microSDカードには、一切書き込みません。

つまり、trixie では、延命のためにスワップを止める必要がなくなっています。 止めなくても、カードは減りません。

bookworm でも、止めないほうがいいかもしれません

ここは、次回に詳しく書きます。

簡単に言うと、スワップを完全に無効化すると、メモリが足りなくなったときに落ちます。

メモリの少ない機種では、これが起きます。カードは守れたが、動かなくなったという状態です。

2つ目:ログをメモリ上に置く

これは、いまも有効です

3つの中で、唯一そのまま使えました。

`/etc/fstab` に書き足して、`/tmp` や `/var/log` をメモリ上に置く方法です。

tmpfs  /tmp      tmpfs  defaults,size=64m,noatime,mode=1777  0  0
tmpfs  /var/tmp  tmpfs  defaults,size=32m,noatime,mode=1777  0  0

ただし、標準ではやられていません

両方の機体で確認しました。

$ findmnt /var/log
(何も出ない)

何も出ないということは、ルートのファイルシステム上にあるということです。

つまり、ログは microSDカードに直接書かれています。

実際、どれくらい溜まっているか

bookworm  64MB
trixie    128MB

使い方によって変わりますが、この程度は溜まります。

/var/log をメモリに置くときの注意

再起動すると、消えます。

普段は問題ありませんが、調子が悪くて再起動したとき、原因を調べるログが残っていません。

これは、けっこう困ります。

自分は、`/tmp` と `/var/tmp` だけメモリに置いて、`/var/log` はそのままにしています。ログの量を減らすほうで対応する形です。

3つ目:ログの出力を減らす

よく紹介されている手順

`/etc/rsyslog.conf` を編集して、不要な出力をコメントアウトするという方法です。

検索上位の記事は、ほぼ全部これを書いています。

そのファイルが、ありません

$ systemctl is-active rsyslog
rsyslog なし

$ ls /etc/rsyslog.conf
rsyslog.conf なし

bookworm でも trixie でも、同じ結果でした。

ログの記録は、journald という仕組みに移っています。rsyslog は、標準では入っていません。

いまのやり方

journald の設定で、上限を決めます。

設定ファイルを新しく作る形です。

sudo mkdir -p /etc/systemd/journald.conf.d
sudo nano /etc/systemd/journald.conf.d/size.conf
[Journal]
SystemMaxUse=32M
SystemMaxFileSize=8M

上限を決めておくと、それ以上は溜まりません。 古いものから消えていきます。

反映するには、こうします。

sudo systemctl restart systemd-journald
journalctl --disk-usage

いま溜まっている分を消す

sudo journalctl --vacuum-size=32M

指定した大きさまで、古いログを削除します。

上書き設定は、標準では無い

$ ls /etc/systemd/journald.conf.d/
上書き設定なし

両方の機体で、何も設定されていませんでした。

つまり、自分で入れる余地があります。

整理すると

OS世代によって、延命設定の有効性がどう変わったかを整理した図

よく紹介されている手順 bookworm trixie
dphys-swapfile を無効化 できる(ただし要検討) そもそも無い
tmpfs でメモリ上に置く 有効 有効
rsyslog.conf を編集 ファイルが無い ファイルが無い

3つのうち、そのまま使えるのは1つでした。

いま、やるとしたら

実測を踏まえた順番を書きます。

1. journald の上限を決める

これがいちばん手軽で、効きます。

設定ファイルを1つ作るだけです。再起動でログが消えることもありません。

2. /tmp と /var/tmp をメモリに置く

fstab に2行足すだけです。

`/var/log` まで置くかどうかは、ログを残したいかどうかで決めてください。

3. スワップは、無効化しない

trixie なら、そもそも zram なので問題ありません。

bookworm なら、無効化ではなく zram に替えるという選択があります。次回に書きます。

4. そもそも microSD から離れる

いちばん確実なのは、これです。

Raspberry Pi 4 以降は、USB接続のSSDから起動できます。 Pi 5 なら、NVMe を接続する方法もあります。

書き込み回数の上限が、桁違いに大きい。 延命設定を細かくやるより、そちらのほうが効きます。

常時動かすなら、最初からSSDにしておくのが素直だと思います。

注意しておきたいこと

設定は、環境で変わります

この記事は、手元の2台で測った結果です。

OSの版、インストール方法、使っているサービス。条件が違えば、結果も変わります。

自分の機体で確認してから、手を入れてください。

確認するコマンド

cat /etc/os-release | head -2
swapon -s
zramctl
systemctl is-active dphys-swapfile
ls /etc/rsyslog.conf
findmnt /var/log
journalctl --disk-usage

これで、この記事に書いたことが自分の環境でも当てはまるか分かります。

やりすぎない

延命設定は、突き詰めるとキリがありません。

そして、やりすぎるとログが残らず、トラブルのときに困ります。

上の1と2をやっておけば、たいていは足ります。

まとめ

  • 検索上位の延命設定は、3つのうち2つが、いまのOSでは実行できない
  • trixie に dphys-swapfile は無い。 zram に置き換わっている
  • zram はメモリ上なので、microSDに書き込まない
  • bookworm でも trixie でも、rsyslog.conf は無い。 journald に移行済み
  • ログを減らすなら、journald の上限を設定する
  • /var/log は、標準ではメモリ上に置かれていない(実測で確認)
  • ログの使用量は、bookworm 64MB / trixie 128MB
  • /var/log をメモリに置くと、再起動でログが消える。 トラブル時に困る
  • スワップは無効化しないほうがいい。 詳しくは次回
  • いちばん効くのは、microSDから離れること。 SSD起動を検討する

手順が古いまま残っているのは、この分野ではよくあることです。

実行する前に、自分の環境で確かめてください。 コマンドが通らないなら、その手順はもう古い、ということです。

次回は、スワップの話を書きます。無効化するべきなのか、それとも別のやり方があるのか。

※本記事は2026年8月時点の実測です。OSの構成は変更されることがあります。

タイトルとURLをコピーしました