패닉이 발생할 경우 재부팅하도록 Linux 커널을 미리 구성하는 방법은 무엇입니까?

패닉이 발생할 경우 재부팅하도록 Linux 커널을 미리 구성하는 방법은 무엇입니까?

커널 명령줄에 "panic=N"을 입력하면 시스템이 패닉 발생 후 N초 후에 다시 시작되도록 할 수 있습니다.

그러나 부트로더가 작동하기 전에 이를 지정하는(기본 커널 명령줄 옵션 외에) 구성 옵션이 있습니까? 일부 커널 옵션은 다음과 같습니다.

答え1

~에서man proc:

/proc/sys/kernel/panic

이 파일은 커널 변수 Patrick_timeout에 대한 읽기/쓰기 액세스를 제공합니다. 이 값이 0이면 커널은 패닉 상태에서 반복됩니다. 0이 아닌 경우 이 시간(초) 후에 커널이 자동으로 다시 시작되어야 함을 나타냅니다. 소프트웨어 감시 장치 드라이버를 사용하는 경우 60으로 설정하는 것이 좋습니다.

答え2

구성 파일은 부팅 시 호출되는 매개변수이므로 부팅(grub) 구성 파일 자체이며, 파일 시스템이 마운트되지 않은 경우 grub은 다른 구성 파일에서 읽을 수 없습니다.

그러나 이는 초기화 설정이므로 런타임 시 수정될 수 있습니다 sysctl. 따라서 /etc/sysctl.conf매개변수 업데이트는 기본적으로 kernel.panic = 3구성 업데이트입니다.

答え3

kernel.panic시스템 제어. 이를 구성하는 방법에는 여러 가지가 있습니다. 예를 들어 다음을 통해sysctl.d.

答え4

그런 구성 옵션이 없는 것 같습니다. 기본 시간 초과는 0입니다.http://www.mjmwired.net/kernel/Documentation/kernel-parameters.txt#1898“영원히 기다리고 있다”는 것입니다.

이 옵션은 다음에 정의되어 있습니다.커널/panic.c, 초기 값을 다른 값으로 설정하는 패치를 작성할 수 있습니다.

3초 후에 다시 시작을 하드코딩하려면 다음을 변경하십시오.

int panic_timeout;

도착하다:

int panic_timeout = 3;

関連情報