====== Увеличиваем лимит открытых файловых дескрипторов ======
Взял здесь: 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