Too many open files
Нам надо изменить параметр:
cat /proc/sys/fs/file-max
,
обозначающий число одновременно открытых файлов
Текущее состояние числа открытых файлов можно узнать так:
cat /proc/sys/fs/file-nr
по порядку он выдает три значения: число открытых в данный момент файлов; число открытых, но не используемых файлов; максимальное число открытых файлов
Открываем файл:
vi /etc/sysctl.conf
имена всех возможных параметров можно узнать так: sysctl -a
Нас интересует параметр: fs.file-max
Добавляем в файл следующую строку:
fs.file-max = 999999
И вызываем для сохранения настроек:
/sbin/sysctl -p
Настраиваем ulimit
Текущее
состояние настроек ulimit можно посмотреть: ulimit -a
Открываем файл:
sudo vi /etc/security/limits.conf
и добавляем с него следующую строку:
* — nofile 999999
Устанавливаем
для текущего шелла ограничение: ulimit -n 999999
Перезапускаем апачу для применения настроек: /etc/init.d/httpd restart
(или постфикс: /etc/init.d/postfix restart )
Заходим под юзером апача (или постфикса: su postfix -s /bin/sh) и удостоверяемся, что настройки новые:
su apache -s /bin/sh
ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 80064
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 999999
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 80064
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
Автор: igel