Raspberry Pi を長く動かしていると、ある日そのまま起動しなくなります。
原因の多くは、microSDカードの寿命です。書き込み回数に上限があるので、OSやログが毎日書き続けていると、いつか限界が来ます。
対策を検索すると、たくさん記事が出てきます。そして、どれも同じ3つを書いています。
1. スワップを無効化する
2. ログや一時ファイルをメモリ上に置く
3. ログの出力を減らす 手元の機体で、順に試してみました。
1つ目と3つ目が、そもそも実行できませんでした。

測った環境
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/
上書き設定なし 両方の機体で、何も設定されていませんでした。
つまり、自分で入れる余地があります。
整理すると

| よく紹介されている手順 | 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の構成は変更されることがあります。

