Увеличиваем лимит открытых файловых дескрипторов

Взял здесь: http://nwel.ru/?p=443

Иногда при подготовке проектов необходимо увеличить лимит открытых файлов (например для apache2). Вот как это можно сделать Debian системе:

1. Поправим /etc/security/limits.conf, добавив следующие строки:

www-data        soft    nofile          32000
www-data        hard    nofile          40000

В данном случае мы увеличиваем софт лимит для юзера www-data (под которым запускается apache в Debian) до 32000, а жесткий лимит до 40000 открытых файлов.

2. Затем нам необходимо прописать перегрузку лимита при перелогине пользователя. Для этого правим /etc/pam.d/common-session и приводим его к такому виду:

session [default=1]     pam_permit.so
session requisite       pam_deny.so
session required        pam_permit.so
session required        pam_limits.so
session required        pam_unix.so

После этого можно проверить как подхватились наши лимиты:

root@server:~# su - www-data
$ ulimit -a
time(seconds)        unlimited
file(blocks)         unlimited
data(kbytes)         unlimited
stack(kbytes)        8192
coredump(blocks)     0
memory(kbytes)       unlimited
locked memory(kbytes) 64
process              unlimited
nofiles              32000
vmemory(kbytes)      unlimited
locks                unlimited

Теперь рестартнем апач и все, будем спокойны, что он не завалится при попытке открыть много файлов =)

P.S. Если необходимо увеличить лимит для всех юзеров, то необходимо в /etc/security/limits.conf прописать это:

*  - nofile  40000
  • ubuntu/limitshowto.txt
  • Последнее изменение: 2022/01/07 18:02
  • 127.0.0.1