Взял здесь: 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