AI
海灵总结
海灵提示:为了防止树莓派因性能不足卡死导致服务不可用,我们可以配置看门狗来实现自动重启。首先通过查看硬件型号来加载对应的内核模块,接着安装并配置watchdog服务,设定好最大负载、内存限制和最高温度等监控参数,最后启动并测试看门狗服务,给你的树莓派加一道安全保障吧。
前言
众所周知,树莓派作为一款卡片电脑。虽然便携,但是性能远远不够用。
为了防止树莓派卡死照成服务不可用,这里记录看门狗watchdog的使用。

查看树莓派型号
1
| cat /proc/cpuinfo| grep Hardware
|
输出里看 Hardware 字段,后面安装模块时按型号选择 bcm2708_wdog 或 bcm2835_wdt。
安装watchdog
BCM2708型号
1 2
| sudo modprobe bcm2708_wdog sudo vim /etc/modules
|
配置如下
BCM2835型号
1 2
| sudo modprobe bcm2835_wdt sudo vim /etc/modules
|
配置如下
公共配置
- 安装watchdog
1
| sudo apt-get install watchdog
|
- 配置watchdog
1
| sudo vim /etc/watchdog.conf
|
配置如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
| #ping = 172.31.14.1 #ping = 172.26.1.255 #interface = eth0 #file = /var/log/messages #change = 1407 # 如果要使能,请去掉行前的注释标号,设置其中一个的值为0来禁用 # 这些值应设定为在正常使用期间不会重启你的设备的值 # (如果你的机器真的死机了,平均载入进程量应该超过25) #max-load-m=n表示在m分钟内开超过n个进程的时候重启 max-load-1 = 24 #max-load-5 = 18 #max-load-15 = 12 # 注意这是内存分页的数量 # 请检查你的机器的分页大小以获取真实的大小 #到最小剩余内存重启 min-memory = 1 #最小可分配内存 #allocatable-memory = 1 #repair-binary = /usr/sbin/repair #repair-timeout = #test-binary = #test-timeout = #选择看门狗设备,这里用默认值 watchdog-device = /dev/watchdog # 已经编译进二进制文件的默认值 #这个文件里面的内容就是CPU温度(摄氏温标)的一千倍 temperature-device = /sys/class/thermal/thermal_zone0/temp #设定为重置温度的一千倍,这里为80° max-temperature = 80000 # 已经编译进二进制文件的默认值 #admin = root #interval = 1 #logtick = 1 #log-dir = /var/log/watchdog # 这极大地减少了在你的机器真正加载完成前看门狗不被列入进程表的几率 realtime = yes priority = 1 # 使能下面这行来检查rsyslogd是否仍然在运行 #pidfile = /var/run/rsyslogd.pid
|
- 启动watchdog
1
| sudo systemctl start watchdog
|
- 查看watchdog运行状态
1
| sudo systemctl status watchdog
|
看到 active (running) 就说明服务已经启动。
- 重启树莓派
- 测试看门狗:
结语
如果一分钟内没有看门狗的报警,那么你的机器就会自动重启。