보류 중인 작업 시간이 초과되면 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

이 블로그가 얼마나 오래 지속될지 누가 알기 때문에 공유하는 것뿐입니다. 하지만 이 커뮤니티에서 이를 허용하지 않는다면 죄송합니다.

관련 정보