Почему это не может закончить 4 096 макс. открытых файлов для некорневого пользователя?

Я, может казаться, не увеличиваюсь nofile предел для некорневых пользователей на Ubuntu 14.04, несмотря на следующий каждый ответ StackExchange, связанный с этой проблемой. До сих пор я имею:

$ cat /etc/security/limits.d/custom.conf
@www-data hard nofile 50000
@www-data soft nofile 50000
# even tried specifying the username directly:
myuser hard nofile 50000
myuser soft nofile 50000

$ grep 'limits' /etc/pam.d/common-session*
/etc/pam.d/common-session:session required        pam_limits.so
/etc/pam.d/common-session-noninteractive:session required        pam_limits.so

$ cat /proc/sys/fs/file-max
101232

Перезагруженный, вошел в систему, и:

$ ulimit -n 4097
-bash: ulimit: open files: cannot modify limit: Operation not permitted

Все еще так или иначе, кажется, существует предел 4 096 макс. для некорневых пользователей.

12
задан 29 July 2017 в 05:46

3 ответа

Используя Ubuntu 14.04 я получил описанный жесткий предел:

user@notebook:~$ ulimit -Hn 4096  

я мог понизить его с помощью ulimit, но не увеличить его, так же, как вопрос описывает его. Поскольку руководство ulimit описывает:

только корень может увеличить жесткий предел

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

user hard nofile 9999 

и новый вход в систему как ssh localhost -l user дал мне новый предел:

user@notebook:~$ ulimit -Hn 9999

Hope это работает на Вас, также.

12
ответ дан 23 November 2019 в 03:38

Этот статья , я думаю, решает Вашу проблему.

В основном необходимо использовать команду ulimit для увеличения имеющихся ресурсов.

, Например:

Использование следующая команда команды для отображения максимального количества открытых дескрипторов файлов:

cat /proc/sys/fs/file-max

Для наблюдения твердых и мягких значений дайте команду следующим образом:

# ulimit -Hn
# ulimit -Sn

Для наблюдения твердых и мягких значений для httpd или пользователя оракула дайте команду следующим образом:

# su - username

Для фиксации количества максимальных файлов можно увеличить максимальное число открытых файлов путем устанавливания нового значения в переменной ядра/proc/sys/fs/file-max следующим образом (вход в систему как корень):

# sysctl -w fs.file-max=100000

команда Above вызывает предел 100 000 файлов. Необходимо отредактировать /etc/sysctl.conf файл и поместить следующую строку так, чтобы после перезагрузили установку, останется как есть. Чтобы сделать это, добавьте директиву конфигурации следующим образом:

fs.file-max = 100000

Сохраняют и закрывают файл. Пользователи должны выйти из системы и войти в снова к изменениям, вступают в силу или просто вводят следующую команду:

# sysctl -p

Проверяют Ваши настройки с командой:

# cat /proc/sys/fs/file-max

или:

# sysctl fs.file-max

вышеупомянутая процедура устанавливает пределы дескрипторов файлов (FD) в масштабе всей системы, однако можно ограничить httpd (или любые другие пользователи) пользователь к определенным пределам путем редактирования /etc/security/limits.conf файл путем редактирования /etc/security/limits.conf и установить пределы следующим образом:

httpd soft nofile 4096
httpd hard nofile 10240

Тогда проверяют их:

# su - httpd
$ ulimit -Hn
$ ulimit -Sn

, Если у Вас есть проблема на других дистрибутивах Linux, проверьте /etc/pam.d/login и удостоверьтесь, что Вы имеете pam_limits.so, включил, например,

session required pam_limits.so
4
ответ дан 23 November 2019 в 03:38

Если это - Сервис, можно попытаться установить предел в /etc/systemd/system/{ServiceName}.service, добавляют LimitNOFILE=65536

0
ответ дан 23 November 2019 в 03:38

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

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