質問:「組込みLinuxが突然再起動した.
このとき確認すべきものを優先度が高い順に教えてください.」
以下はChatGPTの回答.
組込みLinuxシステムが突然再起動した場合、原因の特定は重要です。以下は、優先度順にチェックすべき項目です:
✅【優先度:最上】1. カーネルログ (dmesg
, journalctl -k
)
再起動直前にカーネルが出力したメッセージは最重要。
dmesg | tail -50
journalctl -k -b -1 # 前回起動時のカーネルログ
チェックする内容:
-
kernel panic
,BUG
,Oops
などの致命的エラー -
watchdog
,soft lockup
,hard lockup
のようなハング検出 -
Out of memory: Killed process ...
→ OOMが原因の再起動 - ファイルシステム関連のエラー(例:
EXT4-fs error
)
✅【優先度:高】2. systemd ログ(前回起動時)
systemd
のログでシャットダウン/リブートの意図的な痕跡がないか確認します:
journalctl -b -1
チェックする内容:
systemd[1]: Rebooting.
-
session-*.scope: A process has been killed by the OOM killer.
(=OOMで落ちた) - 再起動直前にログがぷつっと切れてる → 電源断やカーネルクラッシュの可能性
✅【優先度:高】3. 電源関連の確認(ログ+物理)
ログに何も出ていない場合は、**電源断(瞬断含む)**の可能性大:
- UPSを使用していない場合、外部環境要因(ケーブル抜け・電源ノイズ)
- ハードウェアウォッチドッグによる強制リブート
- 電圧低下ログ:一部ボード(例:Raspberry Pi)は
/var/log/syslog
にunder-voltage
警告が出る
✅【優先度:中】4. /var/log/
下のログファイル
一般的なログファイル群からヒントを得る:
less /var/log/syslog
less /var/log/messages
less /var/log/kern.log
検索ワード例:
-
panic
,fatal
,segfault
,watchdog
,reboot
,oom
- 再起動直前にエラーが集中してないか確認
✅【優先度:中】5. ハードウェア監視(watchdog, センサー)
以下を使って、ハードウェア監視機構が働いたかを確認:
lsmod | grep watchdog
dmesg | grep watchdog
journalctl -b -1 | grep watchdog
ボードによっては /dev/watchdog
経由で強制リブートが走る設定もある。
✅【優先度:低〜中】6. ソフトウェア起因(自動更新、バグ)
- cronやタイマーによる自動再起動
- アプリケーションのバグ(無限ループや無制限メモリ確保)→ OOM
- 組込み独自のシェルスクリプト等による
reboot
コマンド
🚨番外:ログが全く残っていない場合
→ 電源断またはハードウェアリセットの可能性が高いです。
チェックする:
-
last -x reboot
→ reboot時刻がログに記録されているか? -
journalctl --list-boots
でログが途中で途切れていないか?
必要なら、チェック用のシェルスクリプトも一緒に組みますよ。再起動の頻度や条件もわかれば、調査の方針をもっと絞れます。どうしますか?