树莓派的CPU是保护有硬件看门狗的,可以通过安装模块和值守程序来实现看门狗防止树莓派死机
安装看门狗:
方法一:
watchdog.sh的源码:
#!/usr/bin/env bash
echo "[+] Activating Temperature Sensor"
modprobe bcm2708_wdog
echo "bcm2708_wdog" >> /etc/modules
echo "[+]Installing Watchdog"
apt-get -y install watchdog chkconfig
echo "[+]Setting Up Watchdog"
chkconfig watchdog on
sed -i 's/#max-load-1[^5]/max-load-1\ /g' /etc/watchdog.conf
sed -i 's/#\(watchdog-device\t[\ ]*\)\=/\1\t\=/g' /etc/watchdog.conf
sed -i 's/#\(temperature-device[\ ]*\)\=/\1\ \= \/sys\/class\/thermal\/thermal\_zone0\/temp/g' /etc/watchdog.conf
sed -i 's/#\(max-temperature[\ ]*\)\=\ 120/\1\ \=\ 75000/g' /etc/watchdog.conf
sed -i 's/#\(interval[\ ]*\)\=\ 1/\1\ \=\ 10 /g' /etc/watchdog.conf
/etc/init.d/watchdog start
sudo sh watchdog.sh
====================================================================================
方法二:
1.加载看门狗模块,编辑/etc/modules文件,添加一行”bcm2708_wdog”
sudo modprobe bcm2708_wdog
sudo nano /etc/modules
添加一行”bcm2708_wdog”
2.安装系统配置软件和看门狗程序
sudo apt-get install chkconfig watchdog
3.配置看门狗程序,编辑“/etc/watchdog.conf”文件
sudo nano /etc/watchdog.conf
去掉 watchdog-device = /dev/watchdog 前的#号,让看门狗设备对应树莓派的硬件看门狗
去掉 max-load-1 = 24 前的#号,当1分钟load进程超过24个的时候就会重启
还可以设置高温复位:
去掉
temperature-device =
max-temperature = 120
前的#号,改为
temperature-device = /sys/class/thermal/thermal_zone0/temp
max-temperature = 80000
温度超过80度就会引起重启,保护CPU
配置完后,保存(Ctrl+O),退出(ctrl+x)
4.配置看门狗程序,开机自动运行
chkconfig watchdog on
5.启动看门狗
sudo /etc/init.d/watchdog start
输入下述命令(forkbomb),测试一下看门狗
: (){ :|:& };:
|
|