Що це означає, коли на вашому комп’ютері є "паніка ядра" ?
Чи прирівнюється він до вікон BsoD ?
Крім того, які методи, поради, підказки доступні користувачеві, коли нападає паніка ядра ?
Що це означає, коли на вашому комп’ютері є "паніка ядра" ?
Чи прирівнюється він до вікон BsoD ?
Крім того, які методи, поради, підказки доступні користувачеві, коли нападає паніка ядра ?
Відповіді:
Паніка з ядрами така ж, як і BSOD, і не підлягає вживанню IIRC. Однак менший збій - OOPS, який позначає деяку помилку в ядрі.
panic
параметр, який перезавантажує ядро через n секунд. Ви можете доручити GRUB перейти на резервне ядро в такому випадкуemergency sync
промивання буферів (коли це ще можливо).
Паніка ядра Linux - це виклик підпрограми, який ядро виконує, коли логіка ядра визначає, що існує умова, яка робить подальше виконання нормальної логіки неможливим або безвідповідальним.
Ядро може викликати паніку, коли:
Існує близько 950 різних умов, коли в ядрах 3.X викликається паніка. Підпрограма паніки спочатку друкує дамп стека ядра і реєструє процесор на консоль. Потім, якщо ядро kexec аварії було налаштовано, воно завантажує ядро kexec. В іншому випадку панічний режим руйнує всі відмовки і виконує екстрений перезапуск.
Oops - це підпрограма, яка викликається від обробника винятків процесора для виключення CPU, що виникає під час виконання у привілейованому (тобто ядрі) режимі. Виняток може статися внаслідок помилки в коді ядра, або через помилку обладнання, або як результат зовнішнього стану, який спричиняє конкретний виняток. Обробник винятку друкує журнал ядра зі списком регістрів процесорів та модулів. На відміну від панічних викликів, сама логіка ядра ніколи не викликає ой за межами контексту обробників виключень процесора.
Якщо ядро налаштоване для kexec, то упс призведе до завантаження ядра kexec. В іншому випадку, якщо виняток трапляється під час виконання оброблювача переривання, то ооп призводить до виклику паніки ядра. В іншому випадку, якщо ядро налаштоване на "паніка на оопс", то увімкнення призведе до панічного виклику. В іншому випадку ядро закриває обробник винятків і продовжує виконання. Коли ядро виходить з обробника винятків і продовжує виконання, цілісність ядра підозрюється.
Обробники виключень процесора залежать від архітектури. Вони зазвичай реалізуються в arch / * / kernel / traps.c і встановлюються в специфічному для архітектури коду введення ядра, який встановлює таблицю переривань. Див. Наприклад arch/powerpc/kernel/traps.c
і arch/powerpc/kernel/head_fsl_booke.S
.
Як паніку, так і умови oops можна налаштувати для виклику kmsg_dump
розпорядку, який ви можете використовувати для збереження інформації про налагодження аварії в оперативній пам’яті або для флеш-пам’яті, якщо уп не відбувся в контексті переривання, і в цьому випадку порядок «kmsg_dump» може використовуватися лише зберегти в ОЗУ, а не в MTD. Зберігаючи оперативну пам'ять, ви несете відповідальність за: a) переконайтесь, що використовувана область оперативної пам’яті не буде перезаписана під час завантаження kexec або аварійного перезавантаження, і b) збирати область пам’яті з ядра kexec або з логіки завантажувача.
Це несподівана поведінка потоку програми (ядро - програма в даному випадку). У разі паніки програма перестає працювати. Він рівний вікнам BsoD. KP означає щось не так з ядром або модулями. Якщо це стабільне ядро - подивіться драйвери. Якщо нічого особливого та всі драйвери не є загальними, це може бути проблемою з обладнанням.