Как установить местоположение файла дампа ядра (и имя)?

Я на CentOS 6, пытаясь включить основные дампы для приложения, которое я разрабатываю. Я положил:

ulimit -H -c unlimited >/dev/null ulimit -S -c unlimited >/dev/null 

в мой профиль bash, но ядро ​​дампа все еще не генерировалось (в новом терминале).

Я также изменил свой /etc/security/limits.conf так, чтобы мягкие лимиты были равны нулю для всех пользователей.

Как установить местоположение основных файлов для вывода? Я хотел указать местоположение и добавить время создания дампа в качестве части имени файла?

One Solution collect form web for “Как установить местоположение файла дампа ядра (и имя)?”

Чтобы установить расположение дампов ядра в Centos 6, вы можете отредактировать файл /etc/sysctl.conf. Например, если вам нужны основные дампы в / var / crash:

 kernel.core_pattern = /var/crash/core-%e-%s-%u-%g-%p-%t 

Где переменные:

% e – имя файла
% g – это gid, в котором выполнялся процесс
% p – pid процесса
% s – это сигнал, который вызвал сброс
% t – время сброса
% u – это uid, процесс которого

Также вам нужно добавить / etc / sysconfig / init

 DAEMON_COREFILE_LIMIT='unlimited' 

Теперь примените новые изменения:

 sysctl -p 

Но есть такая оговорка. Если параметр ядра kernel.core_pattern всегда перезагружается и перезаписывается при перезагрузке в следующую конфигурацию, даже когда значение указано вручную в файле /etc/sysctl.conf:

 |/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %te 

Короче говоря, когда abrtd.service запускает kernel.core_pattern автоматически перезаписывается системой, установленной abrt-addon-ccpp. Это можно решить двумя способами:

  1. Установка параметра DumpLocation в файле конфигурации /etc/abrt/abrt.conf.
    Целевой каталог можно указать, установив DumpLocation = / var / crash в файле конфигурации /etc/abrt/abrt.conf. И отображаемое значение sysctl kernel.core_pattern является одним и тем же, но фактически основной файл будет создан в каталоге под / var / crash.
    Кроме того, если у вас включен selinux, вам нужно запустить:

      semanage fcontext -a -t public_content_rw_t "/var/crash(/.*)?"  
     setsebool -P abrt_anon_write 1 

    И, наконец, перезапустите abrtd.service:

      перезагрузка службы abrtd.service 
  2. Остановить службу abrtd. kernel.core_pattern не будет перезаписан. – (Я никогда не тестировал).
  • Ошибка сегментации Google Chrome в течение минуты
  • Как получить coredump с нехваткой дискового пространства на RedHat Linux
  • Есть ли возможность отправлять файлы ядра в удаленное место, не сохраняя их локально?
  • Нет ядро-дампов после недавних обновлений: как его анализировать?
  • Как может плохой старый пользователь, не являющийся пользователем root, получить систему отвалов ядра?
  • Почему systemd-coredump хранит дамп в самой памяти?
  • Как установить права доступа к основному файлу по умолчанию
  • Является ли генерация дампа ядерной энергией?
  • Удостоверяются ли явные отвалы ядра конфиденциальной информацией?
  • Как вы можете комментировать информацию о клубе ELF в Linux?
  • Не удалось создать дамп ядра apache2
  • Linux и Unix - лучшая ОС в мире.