抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >
海灵 · 文章导读
00:00 / 00:00
听一听这篇文章

先说结论

海灵提示:为了防止树莓派因性能不足卡死导致服务不可用,我们可以配置看门狗来实现自动重启。首先通过查看硬件型号来加载对应的内核模块,接着安装并配置watchdog服务,设定好最大负载、内存限制和最高温度等监控参数,最后启动并测试看门狗服务,给你的树莓派加一道安全保障吧。

前言

众所周知,树莓派作为一款卡片电脑。虽然便携,但是性能远远不够用。
为了防止树莓派卡死照成服务不可用,这里记录看门狗watchdog的使用。

树莓派 watchdog 自动重启机制

查看树莓派型号

cat /proc/cpuinfo| grep Hardware

输出里看 Hardware 字段,后面安装模块时按型号选择 bcm2708_wdog 或 bcm2835_wdt。

安装watchdog

BCM2708型号

sudo modprobe bcm2708_wdog
sudo vim /etc/modules

配置如下

bcm2708_wdog

BCM2835型号

sudo modprobe bcm2835_wdt
sudo vim /etc/modules

配置如下

bcm2835_wdt

公共配置

  1. 安装watchdog
sudo apt-get install watchdog
  1. 配置watchdog
sudo vim /etc/watchdog.conf

配置如下

#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
  1. 启动watchdog
sudo systemctl start watchdog
  1. 查看watchdog运行状态
sudo systemctl status watchdog

看到 active (running) 就说明服务已经启动。

  1. 重启树莓派
sudo reboot
  1. 测试看门狗:
:(){ :|: & };:

结语

如果一分钟内没有看门狗的报警,那么你的机器就会自动重启。

评论




站点访问量 Loading… 站点访客数 Loading…