You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Intel Alder Lake N50平台iTCO_wdt看门狗使用异常排查求助

Intel Alder Lake N50平台iTCO看门狗问题解决指南

一、“10min”超时的来源

这个10分钟的超时是systemd-shutdown在系统关机/重启阶段启用的看门狗超时值,和内核初始化时的120秒心跳无关。systemd在关机流程中会自动接管看门狗,防止关机过程卡住,默认设置的超时就是10分钟。

你看到的watchdog0: watchdog did not stop!日志,是因为前一次看门狗没有被正确关闭,systemd接管后重置了超时配置。

二、修改超时的方法

1. 修改systemd关机阶段的看门狗超时

编辑/etc/systemd/system.conf,找到ShutdownWatchdogSec配置项,取消注释并修改为目标值,比如设置为5分钟:

ShutdownWatchdogSec=300s

保存后执行systemctl daemon-reload使配置生效,下次关机/重启时日志中的超时就会更新为设置值。

2. 修改内核iTCO_wdt模块的默认心跳超时

如果要调整内核初始化时的120秒心跳值,可通过模块参数修改:

  • 临时生效:加载模块时指定参数
modprobe iTCO_wdt heartbeat=60
  • 永久生效:编辑/etc/modprobe.d/iTCO_wdt.conf,添加:
options iTCO_wdt heartbeat=60 nowayout=0

其中heartbeat单位为秒,nowayout=0表示允许关闭看门狗(设为1则启动后无法关闭)。

三、测试看门狗触发重启的方法

1. 正确触发看门狗的操作步骤

你之前执行cat >> /dev/watchdog的方式无法触发重启,因为仅单次写入不会让看门狗进入“需定期刷新”的状态。正确测试流程:

  • 先用lsof /dev/watchdog确认没有其他进程占用看门狗设备
  • 打开终端执行cat /dev/watchdog,该命令会持续读取设备,此时内核会认为你已接管看门狗,停止自动刷新
  • 保持终端开启,等待设置的heartbeat超时(比如默认120秒),系统就会触发重启

2. 终止系统自动刷新进程

如果发现systemd-watchdog.service这类系统进程在自动刷新看门狗,可先停止并禁用该服务:

systemctl stop systemd-watchdog.service
systemctl disable systemd-watchdog.service

再执行上述cat /dev/watchdog命令,等待超时即可触发重启。

注意:若模块参数设置了nowayout=1,看门狗启动后无法关闭,只能通过重启系统恢复,测试阶段建议保持nowayout=0。


内容的提问来源于stack exchange,提问作者zzi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 23:35:04