Дамп ядра с использованием linux-crashdump под VMware?

Я следовал указаниям здесь, на вики-справке по Ubuntu , для моего сервера Ubuntu 12.04.2, работающего в VMware Fusion 5, и все выглядит хорошо, поэтому я делаю echo c > /proc/sysrq-trigger как root. Он паникует ядро, как и ожидалось, а затем зависает после распечатки нескольких следов стека.

Я подождал несколько минут, чтобы убедиться, что все записи на диск (для аварийного дампа) завершены, и перезапустил виртуальную машину. Когда я снова вхожу, ls /var/crash не показывает файлов! Есть идеи, как заставить его работать или он работает вообще?

2
задан 25 June 2018 в 08:46

2 ответа

Возможно, проблема в том, что у вас слишком мало оперативной памяти. Он должен быть больше 2 ГБ, в противном случае вы должны изменить параметры GRUB, чтобы принять crashkernel=128M и проверить

cat /sys/kernel/kexec_crash_loaded

Это должно быть 1.

0
ответ дан 25 June 2018 в 08:46

Причина, по которой это не работает должным образом, была задокументирована более трех лет назад: см. Эту страницу вики Ubuntu

О системах с & lt ; = 2 ГБ ОЗУ, мы не зарезервируем достаточно памяти для установки initrd ядра аварии. Это приведет к панике в аварийном ядре.

См. также эти отчеты об ошибках для справки # 785394 и # 1235616

Обходной путь:

Чтобы устранить эту проблему, установите

GRUB_CMDLINE_LINUX="crashkernel=128M"

в /etc/default/grub. н.б .: Вы не можете поместить эту опцию в GRUB_CMDLINE_DEFAULT, потому что настройка в /etc/grub.d/10_linux имеет приоритет над ней.

Чтобы «навсегда» устранить проблему, отредактируйте `/etc/grub.d/10_linux и измените строку

GRUB_CMDLINE_EXTRA="$GRUB_CMDLINE_EXTRA crashkernel=384M-2G:64M,2G-:128M"

на

GRUB_CMDLINE_EXTRA="$GRUB_CMDLINE_EXTRA crashkernel=128M"
0
ответ дан 25 June 2018 в 08:46

Другие вопросы по тегам:

Похожие вопросы: