phone +7 (495) 66 014 66

× Общий раздел

Создание дампов аварийного завершения программы в ОС Linux

10 года 9 мес. назад #820 от Артем
Создание дампов аварийного завершения программы в ОС Linux
(рекомендации 1С)

В данной статье приводятся шаги по настройке операционной системы Linux для обеспечения создания дампов памяти при аварийном завершении программы. Многообразие дистрибутивов Linux не позволяет со 100% уверенностью говорить о том, что описанные ниже шаги применимы ко всем из них в неизменном виде. Однако общий смысл совершаемых действий является общепринятым. Советы, содержащиеся в данной статье, в полной мере применимы для ОС Fedora Core 4 и ее аналогов.

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

Включение автоматической генерации дампов
В случае если сервер 1С:Предприятия запускается как сервис или генерацию дампов нужно включать сервер 1С:Предприятия по умолчанию: в домашнем каталоге пользователя, от имени которого запускается сервер, например: /home/usr1cv81, необходимо в файл .bashrc добавить строку:

ulimit -с unlimited
В случае если сервер 1С:Предприятия запускается как обычное приложение, то перед его запуском достаточно выполнить команду:

ulimit -с unlimited
Данные действия могут быть выполнены как от имени пользователя с правами root, так и от имени пользователя под которым работает сервер 1С:Предприятия (по умолчанию - usr1cv81).

Определение имени и местоположения дампов
Для более четкого понимания того, каким процессом был сгенерирован дамп аварийного завершения, а также для размещения дампов в требуемом каталоге диска, рекомендуется задать шаблон формирования имени дампа. Задание шаблона может осуществляться как в рамках одной сессии, так и на постоянной основе. Описанные ниже действия необходимо выполнять от имени пользователя root.

Для задания шаблона имени и пути расположения дампов аварийного завершения в рамках одной сессии нужно воспользоваться командой:

sysctl -w kernel.core_pattern=/tmp/core.%e.%p

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

Для указания шаблона имени и пути на постоянной основе необходимо добавить следующую строку в файл /etc/sysctl.conf

kernel.core_pattern = /tmp/core.%e.%p
Для того чтобы сделанные в файле изменения вступили в силу, необходимо выполнить команду:

sysctl -p

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Модераторы: Артем
Время создания страницы: 0.263 секунд