Использование памяти GDB для огромных coredumps - PullRequest
4 голосов
/ 04 января 2012

При открытии coredump с помощью gdb, попытается ли gdb загрузить полную coredump в память?

Я обнаружил coredump размером 35Gb в одной из наших промежуточных систем.Наши инструкции по эксплуатации требуют создания обратной трассировки с использованием gdb.Я боюсь, что GDB попытается загрузить полный coredump в память и сделать промежуточную область непригодной для использования, используя всю доступную память.

Мы используем GDB 7.0.1 при установке RedHat EL 5 / 64bit.

1 Ответ

3 голосов
/ 04 января 2012

При открытии coredump с помощью gdb GDB попытается загрузить полный coredump в память?

Нет.

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

Даже без загрузки всего дампа ядра GDB будет потреблять часть памяти,так что вы можете повлиять на вашу систему подготовки.Если вы не можете позволить себе получить эффект, вам нужно изменить свои «операционные процедуры», например перенести ядро ​​в другую систему и проанализировать его там.Осторожно: , если ваш исполняемый файл использует динамическое связывание, вы должны обеспечить, чтобы динамические библиотеки точно соответствовали во время создания дампа ядра и при его анализе.

...