Co to jest panika jądra?

52

Właśnie ukończyłem kurs systemu operacyjnego. Często słyszałem zwrot panika jądra . Możesz wytłumaczyć

  1. Co to jest panika jądra?
  2. Dlaczego tak się dzieje?
  3. Jak mogę dowiedzieć się, że wystąpiła panika jądra?
  4. Jaki to ma wpływ na system?
  5. Czy to występuje tylko w systemie Linux?
  6. Jak mogę temu zapobiec?
użytkownik
źródło
Panika jądra jest częścią komunikatu o błędzie w systemie Mac. jeśli powie „panika, że ​​się tu trzymamy” (przypuszczam, że może być częścią unixa)
Alvar
21
Jeśli prowadziłeś kurs OS, dlaczego nie poprosiłeś wykładowców o wyjaśnienie używanej terminologii? Zyskałbyś znacznie więcej ze swoich studiów.
TRiG

Odpowiedzi:

56

1 pytanie na raz na najczęściej zadawane pytania

  1. Co to jest panika jądra?
    Gdy jądro nie może załadować się poprawnie lub „przestraszy się” i nie uruchamia się poprawnie lub ulega awarii (patrz punkt edytowania na dole).

  2. Dlaczego tak się dzieje?
    Aktualizacje ukryte, niesprawny sprzęt, nieobsługiwany sprzęt, niesprawny lub brakujący dysk lub partycja (patrz punkt edycji na dole)

  3. Jak mogę zrozumieć, że wystąpiła panika jądra?
    Obserwuj monity rozruchu (wyłącz cichy parametr jądra) LUB twój komputer nie uruchamia się

  4. Jaki ma wpływ na system?
    Błąd uruchamiania lub awaria systemu

  5. Czy to występuje tylko w systemie Linux?
    Nie, wszystkie systemy operacyjne typu Unix mogą mieć panikę jądra. Jest to odpowiednik Windows Blue Screen of Death

  6. Jak mogę temu zapobiec?
    Zwykle tak się nie dzieje. Testuj aktualizacje i rozwiąż problem. Użyj stabilnych zamiast gałęzi programistycznych.

Uwaga dodatkowa: Panika jądra oraz awaria / zamknięcie systemu mogą być bezpośrednio odpowiedzialne za ochronę komputera przed uszkodzeniami fizycznymi. Przykłady obejmują zatrzymanie przed skrajnym przegrzaniem lub uszkodzenie dysku. Zobacz kredyty na dole, aby uzyskać bezpośrednią wycenę.

edycje

Per B. Roland Brakujące lub uszkodzone dyski lub woluminy również mogą powodować to.
(Dobra uwaga i przeoczyłem to)

Za Kees Kernel panic może wystąpić również podczas jazdy.
Uwaga: Może się zdarzyć, gdy funkcja zawiedzie w sposób wdzięczny w jądrze, ale najczęściej dzieje się to podczas ładowania modułu lub jądra (zwykle podczas rozruchu). Myślałem, że dotknąłem go podczas „rozruchu lub awarii systemu”, ale widzę, jak moja odpowiedź na (1) stwierdziła, że ​​występuje tylko podczas rozruchu.

Za rafalcieslak bezpośredni cytat - „Jest jedna bardzo ważna rzecz, która musi być dodana: Głównym punktem w całym panikę jądra jest do ochrony komputera. Jądro zawiesza się nie tylko dlatego, że nic nie zrobiło, ale także w celu zapobieżenia przegrzaniu komputera, uszkodzeniu dysków twardych i innym problemom sprzętowym, które mogą wystąpić, jeśli zostaną wykonane nieprawidłowe zamówienia modułu (dla na przykład moduł odpowiedzialny za sterowanie wentylatorem) nie został załadowany itp. Dlatego jądro woli zamrozić, niż rozwiązać problem.

RobotHumans
źródło
3
Dodaj do q # 2: brakujące pliki rozruchowe (np. Gdy brakuje woluminu LVM) ...
antywirusowy
@B. Roland Dodano i zapisano
RobotHumans
miło, dziękuję - napisałem to, bo kiedyś mi się
zdarzyło
8
Ta odpowiedź jest nieprawidłowa. Panika jądra nie ogranicza się tylko do awarii rozruchu. Odpowiedź JanC jest bardziej poprawna („jądro wykrywa błąd, z którego nie można go odzyskać”). Brak możliwości uruchomienia to tylko jeden z wielu warunków.
Kees Cook
2
Jest jedna bardzo ważna rzecz, którą należy dodać: Głównym punktem całej paniki jądra jest ochrona komputera. Jądro zawiesza się nie tylko dlatego, że nic nie zrobiło, ale także w celu zapobieżenia przegrzaniu komputera, uszkodzeniu dysków twardych i innym problemom sprzętowym, które mogą wystąpić, jeśli zostaną wykonane nieprawidłowe zamówienia modułu (dla na przykład moduł odpowiedzialny za sterowanie wentylatorem) nie został załadowany itp. Dlatego jądro woli zamrozić, niż rozwiązać problem.
Rafał Cieślak,
31

Kernel panic się dzieje, gdy jądro wykryje błąd, od którego nie można odzyskać. Funkcja nazwana, panic()aby poradzić sobie z tą sytuacją (często przez zrzucenie niektórych informacji debugowania i / lub ponowne uruchomienie systemu) została po raz pierwszy wprowadzona w jednej z bardzo wczesnych wersji systemu UNIX, więc stąd pochodzi nazwa (i nadal jest tak nazywana w większości systemów UNIX- jak systemy operacyjne, w tym Mac OS X).

Słynny niebieski ekran śmierci (oficjalnie nazywany krytycznym błędem systemowym , jak w VMS / OpenVMS) w jądrze Microsoftu NT jest również formą „paniki jądra”.

Błąd jądra Linuksa, z którego jądro może (częściowo lub tymczasowo) się zregenerować, nazywa się jądrem. Ups ( dmesgczasami mogą pojawić się na wyjściu).

Przyczyną paniki jądra może być błąd w jądrze (np. Sterownik, który jest częścią jądra) lub problem ze sprzętem lub oprogramowaniem, który powoduje nieoczekiwany / nieprzewidywalny stan jądra (np. Kiedy nie można uruchomić initproces lub zostanie zabity).

Aby dowiedzieć się, co go spowodowało, możesz sprawdzić, czy coś zostało wydrukowane na ekranie lub na konsoli szeregowej (jeśli taką skonfigurowałeś). Jeśli jest tak skonfigurowany, możesz także poprosić system o zrzut awaryjny jądra systemu Linux , który zapisuje pamięć jądra na dysk w przypadku wystąpienia paniki, aby programista jądra mógł go przeanalizować (oczywiście wymaga to możliwość zapisu na dysk). W niektórych przypadkach /var/log/messagesmogą również zawierać przydatne informacje (np. W niektórych przypadkach odzyskanie po awarii może później spowodować nieodwracalny błąd). Jest kilka bardziej szczegółowych informacji tutaj .

JanC
źródło
1

W moim systemie jest teraz panika jądra, Ubuntu 16.04. Mój komputer narzekał, że dysk rozruchowy jest pełny, więc uruchomiłem „apt autorove”. Usunęło to, co uważałem za niepotrzebne pliki, a rezultatem jest panika jądra.

Sądzę więc, że jakikolwiek poziom edycji dysku rozruchowego może powodować panikę jądra. Nie wygłupiaj się więc, jeśli nie zwracasz uwagi na to, co robisz.

A. Bergeron
źródło
To nie pomaga odpowiedzieć na pytanie PO. :(
Mike Williamson
1

Odpowiedź @RobotHumans dotyczy wszystkich części pytania. Chciałbym jednak wyjaśnić przyczyny paniki w jądrze.

Po pierwsze, istnieją 2 rodzaje paniki jądra - panika miękkiego jądra (znana również jako Oops) i (panika twardego jądra, znana również jako Aieee!).

System przechodzi w tryb paniki twardego jądra, gdy napotyka wyjątek, którego nie można obsłużyć. Paniki z miękkim jądrem są stosunkowo łatwiejsze w obsłudze.

Przyczyny paniki jądra

Istnieje kilka przyczyn, ale najczęstsze są wymienione poniżej:

  • Wadliwa lub niezgodna pamięć RAM jest najczęstszą i najczęstszą przyczyną paniki jądra.
  • Przestarzałe, niezgodne lub uszkodzone rozszerzenia jądra
  • Przestarzałe, niezgodne lub uszkodzone sterowniki jądra.
  • Uszkodzenie dysku twardego lub problemy, takie jak złe sektory lub uszkodzenie katalogu, mogą również prowadzić do paniki jądra.
  • Niewystarczająca ilość pamięci RAM lub miejsca na dysku twardym
  • Wadliwy sprzęt, źle napisane programy lub awarie sprzętu mogą również prowadzić do paniki jądra.

Należy również zauważyć, że tylko moduły znajdujące się w przestrzeni jądra mogą powodować panikę jądra. lsmodmożna uruchomić polecenie, aby uzyskać listę dynamicznie ładowanych modułów.

Aby rozwiązać problemy z paniką jądra, sprawdź / var / log / messages. Czasami wszystkie informacje mogą być tam zapisane, a czasami nic nie związane z paniką jądra może być tam zarejestrowane. Wpadnięcie w panikę jądra jest nieuniknione, ale nie ma się o co martwić.

Ayush Goyal
źródło