系统看门狗配置--以ubuntu为例

linux系统配置看门狗

以 ubuntu 系统配置看门狗为例

配置看门狗使用的脚本文件,需要使用管理员权限来执行:

配置是:系统每 30S 喂一次狗,超过 60S 不进行投喂,就会自动重启。

1. 系统脚本内容:

bash 复制代码
#!/bin/bash

# 1. 设置要修改的参数
RUNTIME_WATCHDOG="RuntimeWatchdogSec=30s"
REBOOT_WATCHDOG="RebootWatchdogSec=60s"

# 2. 修改 /etc/systemd/system.conf 文件
# 如果 RuntimeWatchdogSec 和 RebootWatchdogSec 存在且已注释,去掉注释并修改它们;如果不存在,则添加。

# 修改 RuntimeWatchdogSec
if grep -q "^#RuntimeWatchdogSec=" /etc/systemd/system.conf; then
    sudo sed -i "s/^#RuntimeWatchdogSec=.*/$RUNTIME_WATCHDOG/" /etc/systemd/system.conf
elif grep -q "^RuntimeWatchdogSec=" /etc/systemd/system.conf; then
    sudo sed -i "s/^RuntimeWatchdogSec=.*/$RUNTIME_WATCHDOG/" /etc/systemd/system.conf
else
    echo "$RUNTIME_WATCHDOG" | sudo tee -a /etc/systemd/system.conf
fi

# 修改 RebootWatchdogSec
if grep -q "^#RebootWatchdogSec=" /etc/systemd/system.conf; then
    sudo sed -i "s/^#RebootWatchdogSec=.*/$REBOOT_WATCHDOG/" /etc/systemd/system.conf
elif grep -q "^RebootWatchdogSec=" /etc/systemd/system.conf; then
    sudo sed -i "s/^RebootWatchdogSec=.*/$REBOOT_WATCHDOG/" /etc/systemd/system.conf
else
    echo "$REBOOT_WATCHDOG" | sudo tee -a /etc/systemd/system.conf
fi

# 3. 重新加载 systemd 配置
sudo systemctl daemon-reload

# 4. 提示用户脚本已完成并准备重启
echo "systemd watchdog settings updated. System will reboot in 5 seconds..."

# 5. 等待并重启系统
sleep 5
sudo reboot

可以直接放置在系统启动脚本中,也可以第一次执行以后,放置在系统的某个配置文件中,方便后续的自动修改与维护。可以创建一个文件夹几种统一存放,而不是放在启动服务中,也还是只执行一次。

2. 设备树配置部分

设备树中搜索wdt可以看到位于rk3588s.dtsi文件中:

在包含rk3588s.dtsi文件的自定义配置设备树文件中使能即可

3. 看门狗 (Watchdog) 原理

看门狗通过不断地定期检查系统的健康状况来工作。具体来说,系统在正常工作时会定期"喂养"(或称"重置")看门狗计时器,向看门狗发送一个"心跳信号"或"喂狗信号"。如果系统未能在规定时间内喂狗(即未能重置计时器),则看门狗认为系统已经出现故障,采取自动复位(重启)等措施。  

3.1 工作机制

● 喂狗:当系统正常运行时,软件或硬件定期向看门狗发送"喂狗信号"。

● 超时:如果系统出现卡死、崩溃或其他异常,未能在规定时间内发送喂狗信号,则看门狗计时器会溢出。

● 复位或纠错:当看门狗计时器溢出时,它会触发一个复位信号,通常会让系统重启,恢复到一个已知的稳定状态。

4. 看门狗类型

看门狗可以分为两种类型:硬件看门狗和软件看门狗。

4.1 硬件看门狗

硬件看门狗是专门的硬件模块,在嵌入式系统中独立运行。其主要特点是:

● 独立性:硬件看门狗通常与系统主处理器分开工作,因此即使系统软件崩溃或卡死,硬件看门狗仍然能够发挥作用。

● 高可靠性:由于是独立的硬件模块,硬件看门狗不容易受到系统问题的影响。

● 自动复位:当系统没有按时喂狗时,硬件看门狗会自动发出复位信号,强制重启系统。

4.2 软件看门狗

软件看门狗是一种基于软件实现的机制,它依赖于操作系统和软件代码来定期检查和重置计时器。其特点是:

● 灵活性:软件看门狗可以根据实际需要进行灵活配置,可以与操作系统紧密集成。

● 受限性:如果系统的操作系统或关键任务发生问题,软件看门狗可能会失效,因为它依赖于系统的正常运行。

相关推荐
love静思冥想26 分钟前
在 CentOS/Red Hat Linux 中安装 Docker
linux·docker·centos
DZSpace31 分钟前
升级 CentOS 7.x 系统内核到 4.4 版本
linux·运维·centos
我的ID配享太庙呀1 小时前
计科高可用服务器架构实训(防火墙、双机热备,VRRP、MSTP、DHCP、OSPF)
运维·服务器·开发语言·网络·web安全·架构·云计算
KeyPan1 小时前
【Ubuntu与Linux操作系统:三、用户与组管理】
linux·运维·服务器·算法·ubuntu
KeyPan1 小时前
【Ubuntu与Linux操作系统:八、Ubuntu桌面应用】
linux·运维·服务器·pytorch·ubuntu·机器学习
运维小文2 小时前
filestream安装使用全套+filebeat的模块用法
linux·elk·日志·kibana·efk·filebeat
随遇而安622&5082 小时前
完整化安装kubesphere,ks-jenkins的状态一直为init
运维·jenkins
x66ccff2 小时前
️ 如何将 Julia 包切换为本地开发版本?以 Reactant 为例
linux·服务器·julia
想做富婆3 小时前
linux: 文本编辑器vim
linux·运维·服务器