當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),就都設置好啦!