系统看门狗配置--以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 软件看门狗

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

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

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

相关推荐
tang_vincent7 分钟前
linux 虚拟内存映射原理与启动初始化过程
linux
a3158238067 分钟前
Android Framework开发知识点整理
android·java·linux·服务器·framework·android源码开发
赖small强1 小时前
【Linux C/C++开发】 GCC -g 调试参数深度解析与最佳实践
linux·c语言·c++·gdb·-g
white-persist1 小时前
VSCode 快捷键大全:从设计理念到场景化高效运用(详细解析)(文章末尾有vim快捷键大全)
linux·ide·vscode·python·编辑器·系统安全·vim
杭州泽沃电子科技有限公司1 小时前
煤化工精炼与加工环节的监测:智能平台如何保障最终产品价值与环保合规?
运维·科技
可可苏饼干2 小时前
Ruo-Yi 前后端分离
运维·学习
SUPER52662 小时前
运维hbase服务重启,导致应用查询异常 hbase:meta
运维·数据库·hbase
_w_z_j_2 小时前
Linux----信号(产生、保存、处理)
linux·运维·服务器
专家大圣2 小时前
远程调式不复杂!内网服务器调试用对工具很简单
运维·服务器·网络·内网穿透·cpolar
集大周杰伦2 小时前
RV1126开发板烧录与SSH登录实践
linux·ssh·嵌入式·rv1126·瑞芯微开发工具·ssh 远程登录