🛠
Raspberry Pi のウォッチドッグ機能を有効にする方法
Raspberry Pi のウォッチドッグ機能を有効にする方法
Raspberry Pi を常時稼働させて機器制御の業務に使用しているのですが、しばしば停止またはフリーズしてしまう問題が発生しました。現地へ行って電源を入れなおすと正業稼働に戻るため、ウォッチドッグ機能による対処が有効と考え、調査しました。
Raspberry Pi にはウォッチドッグ機能が標準搭載されているようで、多数の記事が見つかりました。ですが、検索結果は新旧の情報が入り乱れて混沌としていました。少し時間をかけて調べた結果、極めて簡単にウォッチドッグ機能を有効に出来たのでここにまとめます。
試した環境
$ cat /proc/device-tree/model
Raspberry Pi 4 Model B Rev 1.4
$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
watchdog を有効にする方法
/etc/systemd/system.conf の以下の部分のコメントアウトを解除し、次のように変更します。
そして、OSを再起動するとウォッチドッグが有効になります。
RuntimeWatchdogSec=15
RuntimeWatchdogSec は、ウォッチドッグタイマーのタイムアウト時間です。
動作確認方法
root ユーザーで次のコマンドを実行すると、Kernel パニックを発生させることができます。
# echo c > /proc/sysrq-trigger
その後、自動的にシステムが再起動されれば watchdog が有効になっています。
上の例のようにタイムアウト時間を15秒に設定している場合、15秒以内に再起動が始まると思います。
Discussion