保留中の作業がタイムアウトしたら、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.

これは有効なカーネルパニックと見なされますか?カーネルクラッシュ後に自動的に再起動

これがうまくいかない場合は、dmesgログでエラーメッセージを確認し、見つかった場合は再起動するwhileループを作成しようとしていますが、これを行うより安全でエレガントな方法があると思います。

ベストアンサー1

とても良い答えを見つけました。Jethro Carrのブログ

/etc/sysctl.confに以下を追加するだけです。

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

# Reboot 5 seconds after panic
kernel.panic=5

このブログがどれくらい続くのか誰が知っているので、共有するだけです。しかし、このコミュニティでそれを許可しない場合は申し訳ありません。

おすすめ記事