iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 29
2
IoT

天羅地網物聯網系列 第 29

[Day 29] 樹莓派死當了怎麼辦 : (

相信過了這麼多天,大家應該有發現我一直提到一件事,那就是樹莓派是有它的極限的,因此如果執行超出他能力範圍的任務,可能會導致樹莓派整個死當,像我自己就曾經發生過監視器已經掛掉好多天,但我剛好都沒有去檢查,導致漏了好多天的影像沒拍到,一直到後來需要看監視器影片時才發現根本都沒錄到,而今天就來介紹一個可以自動偵測樹莓派是不是掛掉了的內建功能。

這個套件叫做watchdog,它主要利用倒數計時的概念來觀察樹莓派目前運作是否正常,如果在運作正常的狀況下,系統會自動一直重設倒數計時器的值,讓它不會倒數到0,但如果系統當機已經當機無法重設倒數計時器的數字,系統就會在倒數計時器歸零時自動重開機,但這個功能預設並沒有啟動,必須加入一些設定來啟用它。

那要如何啟用呢?首先編輯以下文件

sudo nano /etc/modules

並在文件中加入一行字

bcm2708_wdog

接著再重新開機就可以完成啟用

但如果想要立刻啟用的朋友,可以執行以下指令

sudo modprobe bcm2708_wdog

接著我們要下載watchdog套件,並以這個套件配合核心功能來使用

sudo apt-get install watchdog

安裝好後先將watchdog放進系統開機後自動執行的程式

update-rc.d watchdog defaults

接著編輯其設定檔

nano /etc/watchdog.conf

並把以下兩行的註解拿掉(刪掉#符號)

#watchdog-device
#max-load-1

接著加入以下指令後存檔

max-load-1 = 24
max-load-5 = 18
max-load-15 = 12

此外,watchdog也可以用於監測CPU溫度、記憶體用量、檔案是否可存取等,也可以設定在重開機前寄信通知管理者,其他所有可以設定項目可以參考此網站:https://www.crawford-space.co.uk/old_psc/watchdog/watchdog-configure.html

最後,設定完成後可以使用以下指令來測試watchdog是不是能正常運作,請記得在執行這個指令前先確認機器沒有在執行其它不能停止的功能,不然一執行下去就GG了

:(){ :|:& };:

接著就不用擔心會不會樹莓派已經掛掉很久但你都沒發現啦!

參考資料:
[1] https://blog.gtwang.org/iot/raspberry-pi-hardware-watchdog/
[2] https://www.raspberrypi.org/forums/viewtopic.php?t=210974
[3] https://www.crawford-space.co.uk/old_psc/watchdog/Linux-Watchdog.html


上一篇
[Day 28] 可以讓我從網際網路看監視器畫面嗎
下一篇
[Day 30] 文章總整理囉
系列文
天羅地網物聯網30

尚未有邦友留言

立即登入留言