很多时候,当我重新启动时,我会收到以下错误消息:
kernel: watchdog watchdog0: watchdog did not stop!我试着通过做man watchdog来了解更多关于看门狗的信息,但是它说没有手动输入。我尝试过yum list watchdog,发现它没有安装。然而,当我查看/dev目录时,实际上发现了两个看门狗:
watchdog和watchdog0
我很好奇。我真的有看门狗吗?为什么内核抱怨当我重新启动时它没有停止呢?
发布于 2014-08-24 17:37:41
大多数现代个人电脑硬件包括看门狗计时器设施。你可以通过维基百科( wikipedia:看门狗定时器 )了解更多关于他们的信息。也来自Linux内核文档:
节选- https://www.kernel.org/doc/Documentation/watchdog/watchdog-api.txt
看门狗定时器(WDT)是一种硬件电路,可以在软件故障时重置计算机系统。你可能已经知道了。通常,用户空间守护进程将通过/dev/文件通知内核看门狗驱动程序,用户空间仍在正常的时间间隔内。当这样的通知发生时,驱动程序通常会告诉硬件看门狗一切正常,看门狗应该再等一会儿才能重置系统。如果用户空间失败(RAM错误、内核错误等等),通知就停止发生,硬件看门狗会在超时发生后重置系统(导致重新启动)。Linux看门狗API是一种非常特殊的结构,不同的驱动程序实现不同的,有时甚至是不兼容的部分。此文件试图记录现有的使用情况,并允许未来的驱动程序编写人员将其用作引用。
因此,Q&A标题为谁在Linux中刷新硬件看门狗?,涵盖了Linux内核与硬件看门狗定时器之间的链接。
在RPM中的描述非常清楚,海事组织。watchdog守护进程可以充当软件看门狗,也可以与硬件实现交互。
RPM描述摘录
该看门狗程序可用作功能强大的软件看门守护进程,也可与硬件看门设备(例如IPMI硬件看门狗驱动程序接口)交替使用到常驻基板管理控制器(BMC)。看门狗定期写入/dev/看门狗;通过监督狗sysconfig文件中的设置,可以配置写到/dev/ through狗之间的间隔。此配置文件还用于将看门狗设置为硬件看门狗,而不是其默认的软件看门狗操作。在这两种情况下,如果设备是打开的,但没有在配置的时间段内写入,则看门狗计时器过期将触发计算机重新启动。当作为软件看门狗运行时,重新启动的能力将取决于机器的状态和中断。当作为硬件看门狗操作时,机器将经历由BMC发起的硬重置(或配置为在看门狗计时器过期时采取的任何操作)。
发布于 2021-02-24 00:54:36
作为附带说明,为了搜索手册,您可以:
man -k watchdog任何使用该词的手册,至少在名称或标题/描述中都会出现在您的控制台中。如果您期望有许多选项,您可能希望在less中使用它,如下所示:
man -k watchdog | less但是,在我们这里的例子中,您可能不会获得超过2或3个条目。
它显示了一个名为wdctl的实用程序,它允许您查看看门狗的当前状态/设置。下面是与我一起工作的Jetson董事会的一个例子:
$ wdctl
Device: /dev/watchdog
Identity: Tegra WDT [version 1]
Timeout: 120 seconds
Pre-timeout: 0 seconds
FLAG DESCRIPTION STATUS BOOT-STATUS
KEEPALIVEPING Keep alive ping reply 0 0
MAGICCLOSE Supports magic close char 0 0
SETTIMEOUT Set timeout (in seconds) 0 0我们可以看到Timeout条目,它告诉您在强制自动重新引导之前,看门狗将等待多长时间。
在较新版本的Linux中,这是通过systemd控制的。查看/etc/systemd/system.conf,您可以在其中找到几个参数(通常默认注释掉):
[Manager]
...
#RuntimeWatchdogSec=0
#ShutdownWatchdogSec=10min
...注意:如果对您来说更容易,也可以使用apropos命令行工具而不是man -k。尽管在这种情况下不需要-k,但它也做同样的事情。
apropos watchdog此外,关键字(本例中的watchdog)在默认情况下可以是一个正则表达式。
https://unix.stackexchange.com/questions/151937
复制相似问题