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

Переустановка пакетов шрифта была бесполезна. Вместо этого я должен был изменить Параметры шрифта KDE для использования неповрежденных шрифтов - они были все установлены на "Sans Serif", который выглядит одинаково полужирным как в нормальном. Изменение этого к рабочему как "Свободная Засечка" зафиксировало это, хотя я предпочту выяснять то, что на самом деле пошло не так, как надо...


обновление, Устанавливающее пакет webcore-шрифтов, устранило фактическую проблему поврежденного Arial, Sans Serif и т.д.

17
27.03.2015, 01:22
2 ответа

Чтобы установить расположение дампов ядра в 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 %t e

Короче, когда abrtd. служба запускается 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 :

     $ service abrtd.service restart 
     
  2. Остановить abrtd сервис. kernel.core_pattern не будет перезаписан. - (Никогда не тестировал).

27
27.01.2020, 19:47

Чтобы сгенерировать дамп ядра Busybox, мы можем добавить следующие параметры в скрипт инициализации, который запускает наш исполняемый файл. Поэтому всякий раз, когда мы инициализируем программное обеспечение и экспортируем переменные среды, мы можем копировать приведенные ниже строки в скрипт, а также для дампа ядра на случай, если мы увидим какой-либо сбой.

Чтобы задать расположение дампов ядра в Busybox, вы можете указать путь к файлу ядра, используя файловую систему proc. Например, если вы хотите получить дампы ядра в/tmp/crash/corefiles:

mkdir -p /tmp/crash/corefiles
chmod 775 /tmp/crash/corefiles
echo "/tmp/crash/corefiles/%e.%s.core" > /proc/sys/kernel/core_pattern

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

%e is the filename
%g is the gid the process was running under
%p is the pid of the process
%s is the signal that caused the dump
%t is the time the dump occurred
%u is the uid the process was running under

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

ulimit -c unlimited

Теперь, чтобы проверить размер основного файла, установленный для каждого потока в процессе, мы можем проверить, используя

cat /proc/<PID>/limits

Вывод вышеуказанной команды:

Limit                     Soft Limit           Hard Limit           Units     
Max cpu time              unlimited            unlimited            seconds   
Max file size             unlimited            unlimited            bytes     
Max data size             unlimited            unlimited            bytes     
Max stack size            8388608              unlimited            bytes     
Max core file size        unlimited            unlimited            bytes     
Max open files            10000                10000                files     
Max address space         unlimited            unlimited            bytes     
Max resident set          unlimited            unlimited            bytes     
Max processes             31868                31868                processes 
Max locked memory         65536                65536                bytes     
Max file locks            unlimited            unlimited            locks     
Max pending signals       31868                31868                signals   
Max msgqueue size         819200               819200               bytes     
Max nice priority         0                    0                    
Max realtime priority     0                    0                    
Max realtime timeout      unlimited            unlimited            us      

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

Для получения дополнительной информации перейдите по этой ссылке. Методы отладки приложений Linux/основные файлы

1
27.01.2020, 19:47

Теги

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