啟動 樹莓派Raspberry Pi 維運監控系統-看門狗(Watch Dog),異常即時重開新開機、重置。

啟動 樹莓派Raspberry Pi 維運監控系統-看門狗(Watch Dog),異常即時重開新開機、重置
當Raspberry Pi樹莓派用在物聯網iOT、感應器或監測器等等,難免會遇上記憶體用光、內存不足、CUP使用率飆高或是機器溫度過高的各種要素,但是卻無法及即時釋放、重置,那就很需要啟動看門狗(Watch Dog)來幫忙監控系統狀態,如果有超出設定值得異常,就會自動幫忙重新開機,讓樹莓派恢復正常運作。







開啟並設定 樹莓派 看門狗(Watch Dog) 教學


操作環境:Raspberry Pi 4 Model B

STEP1

不用像樹莓派3要自行在 /etc/modules 啟動 bcm2708_wdog。直接指令檢查是否有 Watch Dog 存在。

ls -la /dev/watchdog*

// 如果存在模塊就會看到,有看門狗這個模組存在。
crw------- 1 root root  10, 130 12月  6 04:39 /dev/watchdog
crw------- 1 root root 250,   0 12月  6 04:39 /dev/watchdog0
STEP2

讓我們把狗叫醒。

sudo aptitude install watchdog

// 如果沒有aptitude也可以先安裝,或是使用apt-get install watchdog
sudo apt-get install aptitude
STEP3

讓看門狗開機時也跟著一起啟動。

sudo ln /lib/systemd/system/watchdog.service /etc/systemd/system/multi-user.target.wants/watchdog.service
STEP4

接下來是設定Watch Dog,打開/etc/watchdog.conf,並將調整的內容添加到配置裡儲存。

// 使用nano編輯器打開設定檔
sudo nano /etc/watchdog.conf

/** 把下面這幾行的 # 移除就開啟這些設定 **/

// 設置看門狗回報的位置
watchdog-device = /dev/watchdog

// 為了避免被系統警告 cannot set timeout 60 (errno = 22 = ‚Invalid argument‘)
watchdog-timeout = 10
interval = 2

// 監控系統負載,如果系統負載超過設定值,看門狗會把樹莓派系統重新開機。
max-load-1 = 24
max-load-5 = 18 
max-load-15 = 12 
STEP5

重新開機,開啟查看狗是否跟著啟動與正常執行。

sudo service watchdog status
STEP6

可以用終端機下指令測試看看看門狗的能耐。

// Fork Bomb
:(){ :|:& };:

// 或是用 Will perform a system crash by a NULL pointer dereference.
echo c > /proc/sysrq-trigger

STEP7

樹莓派Raspberry Pi 維運監控系統-看門狗(Watch Dog),就都設置好啦!