Что такое ядро ​​паники?

52

Я только что закончил курс ОС. Я много слышал фразу « ядро паники » . Вы можете объяснить

  1. Что такое паника ядра?
  2. Почему это происходит?
  3. Как я могу узнать, что произошла паника ядра?
  4. Как это влияет на систему?
  5. Это происходит только в Linux?
  6. Как я могу предотвратить это?
пользователь
источник
Ядро паники является частью сообщения об ошибке на Mac. если он говорит «паника, которую мы вешаем здесь» (предположение, что это может быть частью unix.)
Alvar
21
Если вы проходили курс обучения ОС, почему вы не попросили своих лекторов объяснить терминологию, которую они использовали? Вы бы получили гораздо больше от учебы.
TRiG

Ответы:

56

1 вопрос за один раз в FAQ

  1. Что такое ядро ​​паники?
    Когда ядро ​​не может загружаться должным образом или «выходит из строя» и не может загружаться должным образом или происходит сбой (см. Раздел «Редактирование кредита» внизу).

  2. Почему это происходит?
    Скрытые обновления, неисправное оборудование, неподдерживаемое оборудование, неисправный или отсутствующий диск или раздел (см. Раздел «Редактировать кредит» внизу)

  3. Как я могу понять, что произошла паника ядра?
    Посмотрите подсказки загрузки (отключите тихий параметр ядра) ИЛИ ваша машина не загружается

  4. Как это влияет на систему?
    Ошибка загрузки или сбой системы

  5. Это происходит только в Linux?
    Нет, все Unix-подобные операционные системы могут иметь панику ядра. Это эквивалент Windows Blue Screen of Death

  6. Как я могу предотвратить это?
    Обычно этого не происходит. Проверьте обновления и устраните проблему. Используйте стабильные вместо веток разработки.

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

правки

По Б. Роланду Это также может быть вызвано отсутствием или повреждением дисков или томов.
(Хороший вопрос, и я упустил это из виду)

Per Kees Ядро паники также может возникнуть во время работы.
примечание: может произойти, когда функция изменится как бы изящно внутри ядра, но чаще всего происходит во время загрузки модуля или ядра (что обычно происходит при загрузке). Я думал, что коснулся этого в «во время загрузки или сбоя системы», но я вижу, как мой ответ на (1) заявил, что это происходит только во время загрузки.

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

RobotHumans
источник
3
Добавьте к вопросу № 2: отсутствующие загрузочные файлы (например, при отсутствии тома LVM) ...
antivirtel
@B. Роланд Добавлено и зачислено
RobotHumans
хорошо, спасибо - я написал это, потому что это однажды произошло со мной ... (Я случайно отформатировал том в LVM ...)
антивиртель
8
Этот ответ не правильный. Паника ядра не ограничивается просто неудачами загрузки. Ответ JanC является более правильным («ядро обнаруживает ошибку, от которой не может восстановиться»). Невозможность загрузки - это только одно из многих условий.
Кис Кук
2
Следует добавить одну очень важную вещь: главное в панике ядра - защитить компьютер. Ядро зависает не только из-за того, что оно не может что-то сделать, но и для того, чтобы предотвратить перегрев компьютера, повреждение жестких дисков и любые другие аппаратные проблемы, которые могут возникнуть, если выполняются некоторые неправильные команды модуля (для например, модуль, отвечающий за управление вентилятором) не загружался и т. д. Именно поэтому ядро ​​предпочитает зависать, чем преодолевать проблему.
Rafał Cieślak
31

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

Знаменитый Blue Screen Of Death (официально называемый системной ошибкой Fatal , как в VMS / OpenVMS) в ядре Microsoft NT также является формой «паники ядра».

Ошибка ядра Linux, из-за которой ядро может (частично или временно) восстановиться, называется ядром упс ( dmesgиногда вы можете увидеть это в выходных данных).

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

Чтобы выяснить, что вызвало это, вы можете увидеть, было ли что-либо напечатано на экране или на последовательной консоли (если вы ее настроили). Если он настроен на это, вы также можете заставить систему создать аварийный дамп ядра Linux , который сохраняет память ядра на диск в случае паники, так что разработчик ядра может ее проанализировать (конечно, для этого требуется возможность записи на диск). В некоторых случаях /var/log/messagesможет также иметь полезную информацию (например, в некоторых случаях восстановление после упс может привести к неисправимой ошибке позже). Существует несколько более подробная информация здесь .

Janc
источник
1

У меня сейчас паника по ядру в моей системе, Ubuntu 16.04. Мой компьютер жаловался, что загрузочный диск был переполнен, поэтому я запустил «apt autoremove». Это удалило то, что я думал, были ненужными файлами, и результатом является паника ядра.

Поэтому я думаю, что любой уровень редактирования загрузочного диска может вызвать панику ядра. Так что не балуйтесь, если не обращаете внимания на то, что делаете.

А. Бержерон
источник
Это не поможет решить вопрос ОП. :(
Майк Уильямсон
1

Ответ @RobotHumans затрагивает все части вашего вопроса. Тем не менее, я хотел бы уточнить причины паники ядра.

Во-первых, существует 2 типа Kernel Panic - Soft Kernel Panic (также известный как Oops) и (Hard Kernel Panic, также известный как Aieee!).

Система работает в режиме жесткой паники ядра, когда она обнаруживает исключение, которое не может быть обработано. С мягкой паникой ядра относительно легко справиться.

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

Есть несколько причин, но наиболее распространенные перечислены ниже:

  • Неисправный или несовместимый ОЗУ является наиболее распространенной и частой причиной паники ядра.
  • Устаревшие, несовместимые или поврежденные расширения ядра
  • Устаревшие, несовместимые или поврежденные драйверы ядра.
  • Повреждение жесткого диска или проблемы, такие как поврежденные сектора или повреждение каталога, также могут привести к панике ядра.
  • Недостаточно ОЗУ или места на жестком диске
  • Неисправное оборудование, плохо написанные программы или сбои оборудования также могут привести к панике ядра.

Также важно отметить, что только модули, расположенные в пространстве ядра, могут вызывать панику ядра. lsmodКоманда может быть запущена, чтобы получить список динамически загружаемых модулей.

Чтобы устранить панику ядра, проверьте / var / log / messages. Иногда вся информация может быть зарегистрирована там, а иногда ничего не связанного с паникой ядра может быть зарегистрировано там. Хотя паника в ядре неизбежна, беспокоиться особо нечего.

Аюш Гоял
источник