启用树莓派硬件看门狗

转载自:https://blog.ronpy.com/2021/10/raspberry-pi-watchdog.html

启用硬件看门狗模块

使用树莓派硬件看门狗之前,需要先启用硬件看门狗模块,对于不同版本的树莓派,其看门狗模块的名称不同,需要根据树莓派版本加载对应的模块:

树莓派 1 代 bcm2708_wdog
树莓派 2 代 bcm2709_wdog
树莓派 3 代 bcm2835_wdt
树莓派 4 代 bcm2835_wdt

确定好版本后,编辑内核模块文件 /etc/modules,在其内容最后追加一行对应的模块名,添加完成后则之后每次系统启动时都会加载看门狗模块。

想要立即启动看门狗模块,需要执行命令:

sudo modprobe [模块名]

[模块名] 需要替换为对应版本的实际模块名

至此,已经完成了看门狗模块的加载。

安装管理服务

在 RaspiOS 下使用软件 watchdog 来管理看门狗,可以直接使用 apt 安装:

sudo apt install watchdog

然后由于显而易见的原因,要把它设置为开机启动:

systemctl enable watchdog

然后编辑配置文件 /etc/watchdog.conf,作出如下修改:

  • 取消 #max-load-1 = 24 的注释(删除开头的 # 号),代表当系统 1 分钟内的负载高于 24(已经非常非常高了),就重启系统
  • 取消 #watchdog-device = /dev/watchdog 的注释,设置看门狗的路径
  • 增加一行 watchdog-timeout = 15,代表 15 秒内系统无响应就重启系统,在树莓派 3B 上这个值最高为 15。注意不要设置的太小,否则可能造成系统反复重启。

保存修改,重启看门狗服务:

service watchdog restart

看门狗功能就启用了。

测试看门狗

可以通过 kill 掉看门狗服务来模拟系统死机的情况:

pkill -9 watchdog
pkill -9 wd_keepalive

过 15 秒后树莓派就会自动重启。

上一篇:SpringCloud升级之路2020.0.x版-41. SpringCloudGateway 基本流程讲解(2)


下一篇:OpenFaaS实战之七:java11模板解析