Що таке паніка ядра?


52

Я щойно закінчив курс ОС. Я багато чув фразу " ядро панікувати " . Ти можеш пояснити

  1. Що таке паніка ядра?
  2. Чому це відбувається?
  3. Як я можу дізнатися, що настала паніка ядра?
  4. Який вплив вона має на систему?
  5. Це трапляється лише в Linux?
  6. Як я можу це запобігти?

Паніка ядра є частиною повідомлення про помилку на комп’ютерах. якщо він скаже "паніку, ми зависаємо тут" (здогадка полягає в тому, що це може бути частиною Unix.)
Алвар

21
Якщо ви робили курс ОС, чому ви не попросили своїх викладачів пояснити термінологію, якою вони користуються? Ви б отримали набагато більше від навчання.
TRiG

Відповіді:


56

1 Питання за раз на FAQ

  1. Що таке паніка ядра?
    Якщо ядро ​​не може завантажуватися належним чином або «вироджується» і не завантажується належним чином або виходить з ладу (див. Правка кредиту внизу).

  2. Чому це відбувається?
    Оновлення хостингу, несправне обладнання, непідтримуване обладнання, збій або відсутній диск або розділ (див. Редагування кредиту внизу)

  3. Як я можу зрозуміти, що настала паніка ядра?
    Слідкуйте за підказками завантаження (вимкніть спокійний параметр ядра) АБО машина не завантажується

  4. Який вплив вона має на систему?
    Помилка завантаження або збій системи

  5. Це трапляється лише в Linux?
    Ні, у всіх операційних системах, схожих на Unix, можуть виникати паніки ядра. Це еквівалент синього екрану смерті Windows

  6. Як я можу це запобігти?
    Зазвичай це не відбувається. Тестуйте оновлення та усуньте проблему. Використовуйте стабільні замість галузей розвитку.

Додаткова примітка: Паніка ядра та несправності / відключення системи можуть бути безпосередньо відповідальними за захист комп'ютера від фізичних пошкоджень. Приклади включають зупинку перед сильним перегріванням або пошкодженням диска. Дивіться редагування кредитів у нижній частині для прямої пропозиції.

правки

За Б. Роланда Відсутні або пошкоджені диски чи томи можуть також спричинити це.
(Хороший момент, і я його не помітив)

Per Kees Ядро паніка може також статися під час бігу.
Примітка: Це може статися, коли функція не вдається витончено всередині ядра, але найчастіше це відбувається під час завантаження модуля або ядра (що зазвичай під час завантаження). Я думав, що я торкнувся його під час "під час завантаження або збою системи", але бачу, як моя відповідь на (1) заявила, що це відбувається лише під час завантаження.

За прямою цитатою rafalcieslak - «Необхідно додати ще одну дуже важливу річ: Головний момент у всій паніці ядра - захист комп'ютера. Ядро замерзає не тільки тому, що йому щось не вдалося зробити, але й для того, щоб запобігти перегріванню комп'ютера, пошкодження жорстких дисків та будь-які інші проблеми з обладнанням, які можуть виникнути, якщо виконуються неправильні замовлення, модуля (для наприклад модуль, відповідальний за управління вентилятором) не вдалося завантажити тощо. Саме тому ядро ​​вважає за краще заморожувати, ніж долати проблему. '


3
Додайте до q # 2: відсутні файли завантаження (наприклад, коли відсутній об'єм LVM) ...
antivirtel

@B. Roland Додано та зараховано
RobotHumans

приємно, спасибі - я написав це, тому що колись це сталося зі мною ... (я випадково відформатував том у LVM ...)
антивіртер

8
Ця відповідь не вірна. Паніка ядра не обмежується лише відмовами завантаження. Відповідь JanC правильніша ("ядро виявляє помилку, з якої не може відновитись"). Неможливість завантаження - лише одне з багатьох умов.
Кіс Кук

2
Необхідно додати ще одну дуже важливу річ: Головний момент у всій паніці ядра - захист комп'ютера. Ядро замерзає не тільки тому, що йому щось не вдалося зробити, але й для того, щоб запобігти перегріванню комп'ютера, пошкодження жорстких дисків та будь-які інші проблеми з обладнанням, які можуть виникнути, якщо виконуються неправильні замовлення, модуля (для наприклад модуль, відповідальний за управління вентилятором) не вдалося завантажити тощо. Тому ядро ​​вважає за краще заморожувати, ніж долати проблему.
Rafał Cieślak

31

Паніка ядра відбувається , коли ядро виявляє помилку , з якого вона не може оговтатися. Функція, призначена panic()для вирішення цієї ситуації (часто шляхом скидання деякої інформації про налагодження та / або перезавантаження системи) вперше була введена в одній з дуже ранніх версій UNIX, тому саме звідси походить назва (і досі його називають у більшості UNIX- як операційні системи, включаючи Mac OS X).

Знаменитий Blue Screen Of Death (офіційно названий Fatal system error , як у VMS / OpenVMS) у ядрі NT Microsoft також є формою "паніки ядра".

Помилка ядра Linux, з якої ядро може (частково або тимчасово) відновити, називається ядром oops (ви можете бачити такі, що знаходяться у dmesgвиході іноді).

Причинами паніки ядра можуть бути помилка в ядрі (наприклад, у драйвері, який є частиною ядра) або проблема з апаратним чи програмним забезпеченням, що спричиняє несподіване / непередбачуване стан ядра (наприклад, коли неможливо запустити initпроцес, або його вбивають).

Щоб дізнатися, що це спричинило, ви можете побачити, чи щось було надруковано на екрані або на послідовній консолі (якщо ви налаштували її). Якщо це налаштовано так, ви також можете змусити систему зробити дамп збою ядра Linux , який зберігає пам’ять ядра на диску у разі паніки, щоб розробник ядра міг його проаналізувати (звичайно, для цього потрібно вміє записати на диск). У деяких випадках /var/log/messagesтакож може бути корисна інформація (наприклад, у деяких випадках відновлення після операції може призвести до непоправної помилки пізніше). Існує кілька більш детальна інформація тут .


1

Зараз у мене в системі паніка ядра, Ubuntu 16.04. Мій комп’ютер скаржився, що завантажувальний диск був повний, тому я побіг "влучний авторемонту". Це видалило непотрібні файли, і результат - паніка ядра.

Тому я думаю, що будь-який рівень редагування завантажувального диска може викликати паніку ядра. Тож не дуріть із цим, якщо ви не звертаєте уваги на те, що робите.


Це не допомагає вирішити питання ОП. :(
Майк Вільямсон

1

Відповідь @RobotHumans стосується всіх частин вашого питання. Однак я хотів би детальніше пояснити причини Ядра Паніки.

По-перше, є 2 типи паніки ядра - Паніка м'якого ядра (також відома як Oops) і (Hard Kernel Panics, також відома як Aieee!).

Система впадає в режим паніки з жорстким ядром, коли стикається з винятком, який неможливо обробити. Паніки з м'яким ядром порівняно простіше впоратися.

Причини ядра паніки

Причин існує кілька, але найпоширеніші наведені нижче:

  • Несправна або несумісна оперативна пам'ять - найпоширеніша і часта причина виникнення паніки ядра.
  • Застаріле, несумісне або пошкоджене розширення ядра
  • Застарілі, несумісні або пошкоджені драйвери ядра.
  • Пошкодження жорсткого диска або такі проблеми, як погані сектори або пошкодження каталогу також можуть призвести до паніки ядра.
  • Недостатня кількість оперативної пам’яті або місця на жорсткому диску
  • Несправне апаратне забезпечення, погано написані програми або збої в апаратному забезпеченні також можуть призвести до паніки ядра.

Це також важливо зазначити, що тільки модулі, які знаходяться в просторі ядра, можуть викликати паніку ядра. lsmodкоманда може бути запущена для отримання списку динамічно завантажених модулів.

Щоб усунути паніку ядра, перевірте / var / log / messages. Іноді вся інформація може бути записана там, тоді як іноді нічого, пов’язане з панікою ядра, не може бути записано там. Хоча стикатися з панікою ядра неминуче, нічого особливо турбуватися.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.