LINUX.ORG.RU

Получение дампа ядра.


0

0

Добрый день.

У меня падает ядро, и я пытаюсь получить его дамп. для этого я использую kdump Все настройки по умолчанию, ну кроме пути к ядру.

после того, как я роняю ядро через SysRq, загружается второе ядро, и пытается выполнить комманду makedumpfile -E -d 31 -x /usr/src/production/vmlinux /proc/vmcore ~/coredump при этом вылетает ошибка: readmem: Can't convert a physical address(c8c08603) to offset. readmem: type_addr: 0, addr:89c08603, size:4 get_machdep_info_x86: Can't get vmalloc_start.

Кто-нибудь знает, с чем это может быть связано, и как этого избежать? кроме того, читал в сети, что можно просто скопировать /proc/vmcore с помощью cp, но при этом дамп криво открылся в gdb


Какой дистр-то? На RHEL/CentOS kdump всегда работал из коробки, а вот на других дистрах на него матерятся.

Ядро какое/чье?

nnz ★★★★
()

обычно для kdump-а используется 2 ядра:
одно - глючное в включенными дебажными фичами (RELOCATABLE, KEXEC, SYSFS, DEBUG_INFO, MAGIC_SYSRQ), KDUMP отключен.
второе - специально скомпиленное с включенными CRASH_DUMP, PROC_VMCORE, PHYSICAL_START=X

первое надо грузить с командой crashkernel=Y@X
второе возможно с mem=X@Y

насчет формата команд не уверен, что именно так. уточни перед использованием.

xydo ★★
()
Ответ на: комментарий от xydo

однако, если все указанные условия соблюдены - значит баг в твоем ядре.

xydo ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.