Ограничение 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?

0 ответов

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