在挂起的任务超时时自动重新启动 linux dmesg

在挂起的任务超时时自动重新启动 linux dmesg

我认为我遇到了与随机网络问题相关的问题,它影响并导致我的 php 进程陷入 D 状态。

这会打印一个内核错误:

[Tue May 17 11:24:55 2022] INFO: task php-fpm:3017789 blocked for more than 120 seconds.
[Tue May 17 11:24:55 2022]       Not tainted 4.15.0-176-generic #185-Ubuntu
[Tue May 17 11:24:55 2022] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.

这是否被认为是有效的内核恐慌内核崩溃后自动重启

如果这不起作用,我正在考虑创建一个 while 循环检查 dmesg 日志中的错误消息,然后如果找到则重新启动,但我认为可能有一种更安全、更优雅的方法来实现此目的

答案1

我找到了一个非常好的答案杰思罗·卡尔的博客

你只需要添加到/etc/sysctl.conf:

# Panic if a hung task was found
kernel.hung_task_panic=1

# Reboot 5 seconds after panic
kernel.panic=5

只是分享,因为谁知道该博客会存在多久,但如果这个社区不允许这样做,我很抱歉。

相关内容