ограничение nofile не изменено для команды sh в неинтерактивном сеансе

Запуск 12.04.3 LTS

Пользователь, отправляющий пакетное задание в очередь, получал

'too many open files error' 

. Исследование предложило изменить файл /etc/security/limits.conf, который был выполнен для всех пользователи и для root по отдельности задают жесткие ограничения 65536. ulimit -a возвращает ограничение 65536. Кроме того, для файлов /etc/pam.d/ common-session, common-session-noninteractive, login и ssh добавлен требуемый сеанс строки pam_limits.so.

Проблема сохраняется и может быть замечена при просмотре файла /proc/pid/limits для процессов, перечисленных с использованием lsof. Здесь предел nofile для процессов, перечисленных как sh под командой, остается как мягкий предел 1024 и жесткий предел 4096, которые были исходными настройками системы по умолчанию. Ограничения для других процессов, например, с командой grep, изменены на новый предел 65536.

Как написано, выполняемый скрипт требует короткого пакета большого количества открытых файлов, из которых отдельные записи собираются и переносятся в другой составной файл. Ошибка всегда происходит в 512-м файле, который, кажется, указывает на то, что он достигает предела.

Что нужно изменить, чтобы увеличить пределы для команд, попадающих под sh?

3
задан 13 December 2013 в 18:55

0 ответов

Другие вопросы по тегам:

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