Назад | Перейти на главную страницу

limits.conf не применяется.

У меня есть следующие строки в /etc/security/limits.conf

*           soft        nofile          32768
*           hard        nofile          65536
root        soft        nofile          32768
root        hard        nofile          65536

В pam_limits.so файл требуется в каждом из следующих файлов.

/etc/pam.d/common-session
/etc/pam.d/cron
/etc/pam.d/login
/etc/pam.d/sshd
/etc/pam.d/su
/etc/pam.d/sudo

ulimit -n при входе в систему (и для служб, которые запускаются при загрузке) все еще показывает 1024.

Что мне не хватает?

Для служб в init.d вы не можете использовать /etc/security/limits.d. Inittab не читает эти файлы и основан на pam.d, который не используется в сценариях запуска инициализации. Все сценарии запуска инициализируют источник /etc/init.d/functions, поэтому для всех служб вы можете взломать этот сценарий и установить там ограничения. Раньше я взламывал / etc / sysconfig для определенных сервисов, когда мне нужно было {httpd, some broken oracle stuf} e.t.c. Надеюсь это поможет.

Ubuntu 14.04

Пришлось добавить как «жесткие», так и «мягкие» записи в /etc/security/limits.conf, чтобы pam распознала настройки для rtprio (-r) и memlock (-l).

вы проверили, что у вас нет других файлов конфигурации в /etc/security/limits.d/?

Вы пробовали увеличить его с помощью ulimit?

$ ulimit -n 4096
$ ulimit -n
4096

И после сохранения необходимо снова авторизоваться. Недостаточно запустить оболочку, это должна быть оболочка входа в систему.

Если вы root, выполните команду ниже

 ulimit -SHn 65535

Если вы хотите установить его постоянно, особенно для определенного пользователя, измените файл /etc/security/limits.conf, чтобы он содержал следующие строки (предположим, что user = www-data)

Например.

 www-data hard nofile 65535

 www-data soft nofile 65535

И не забудьте раскомментировать pam_limits.so из разных файлов в /etc/pam.d, например sudo, login, sshd, ... после выполнения вышеуказанных шагов, которые вы уже сделали.

Наконец перезагрузите вашу систему

Попробуйте проверить /var/log/auth.log

Я нашел там ответ на свою проблему. В моем случае ограничение не было установлено из-за ошибки, из-за которой использовалось значение по умолчанию (1024).