Kernel Panic następuje, gdy jądro trafia na krytyczny błąd, z którego nie może się odratować — system zatrzymuje się, aby zapobiec uszkodzeniu danych. Domyślnie czeka zamrożony na ręczny restart. Parametr sysctl kernel.panic to zmienia: nakazuje systemowi automatyczny reboot po określonej liczbie sekund, co jest niezbędne na serwerach bez bezpośredniego dostępu.

Możliwe wartości i ich znaczenie

Wartość parametru kernel.panic to liczba całkowita, która określa liczbę sekund, po jakiej system ma się automatycznie zrestartować po wystąpieniu paniki.

Wartości te można sprawdzić i ustawić za pomocą polecenia sysctl:

# Sprawdzenie aktualnej wartości
sysctl kernel.panic

# Ustawienie nowej wartości (np. restart po 10 sekundach)
sudo sysctl -w kernel.panic=10

Aby zmiana była trwała, należy dodać odpowiedni wpis do pliku /etc/sysctl.conf lub do pliku w /etc/sysctl.d/:

kernel.panic = 10

Oto, co oznaczają poszczególne wartości:

  • kernel.panic = 0 (wartość domyślna)

    • Działanie: System nie restartuje się automatycznie. Po wystąpieniu Kernel Panic, system zatrzymuje się i czeka na interwencję administratora (ręczny restart). Jest to przydatne w celach diagnostycznych, ponieważ pozwala na zbadanie komunikatu o błędzie na ekranie lub przez konsolę szeregową.
  • kernel.panic > 0 (wartość dodatnia, np. 10)

    • Działanie: System automatycznie zrestartuje się po upływie określonej liczby sekund. Na przykład, jeśli wartość wynosi 10, system odczeka 10 sekund, a następnie uruchomi się ponownie. Jest to najczęściej używana opcja na serwerach produkcyjnych, gdzie szybki powrót do działania jest priorytetem.
  • kernel.panic < 0 (wartość ujemna, np. -1)

    • Działanie: System zrestartuje się natychmiastowo, bez żadnego opóźnienia. Jest to opcja używana w systemach o bardzo wysokiej krytyczności, gdzie każda sekunda niedostępności ma znaczenie, a opóźnienie na zrzut pamięci (kdump) nie jest wymagane.

Na serwerach produkcyjnych ustawienie kernel.panic na niewielką wartość dodatnią (np. 5 lub 10) to standardowa praktyka.