Как настроить подчиненное устройство Hudson linux для генерации файлов ядра? - PullRequest
1 голос
/ 14 апреля 2011

Я видел случайные ошибки сегментации в glibc на нескольких разных подчиненных Fedora Core 9 Hudson.Я попытался настроить каждого ведомого устройства для генерации основных файлов и поместить их в / corefiles, но мне не повезло.

Вот что я сделал на каждом подчиненном Linux:

1) Создайте хранилище corefile
sudo install -m 1777 -d /corefiles

2) Направьте corefiles в хранилище, добавив следующее в / etc / sysctl.conf
kernel.core_pattern = /corefiles/core.%e-PID:%p-%t-signal_%s-%h

3) Включил неограниченное количество основных файлов для всех пользователей, добавив следующее в / etc / profile
ulimit -c unlimited

Требуется ли дополнительная магия Linux или выполнитеМне нужно что-то сделать с рабом Гудзона или JVM?

Спасибо за помощь

Ответы [ 2 ]

0 голосов
/ 16 апреля 2011

Я понял это :-).

Проблема в том, что Hudson вызывает оболочку bash как неинтерактивную оболочку, которая обходит настройку ulimit в / etc / profile . Решение состоит в том, чтобы добавить переменную окружения BASH_ENV к подчиненным Hudson и установить значение в файл с установленным ulimit -c unlimited .

0 голосов
/ 14 апреля 2011

Перезагружали ли вы или запускали "sysctl -p" (от имени root) после редактирования /etc/sysctl.conf?

Также, если я правильно помню, значения ulimit указаны для каждого пользователя, и вызов ulimit не выдержит загрузки.Вы должны добавить это в /etc/security/limits.conf:

*  soft  core  unlimited

Или вызвать ulimit в скрипте, который запускает hudson, если вы не хотите, чтобы все создавали coredumps.

...