Конфигурация ядра (пункт не обязательный, но на сильно нагруженных системах необходимо)
Нам надо изменить параметр:
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
После настройки limits.conf надо РЕБУТИТЬ СИСТЕМУ!!!!! ОН не подхватывает настройки на лету (а кто расскажет, как это сделать на лету, получит плюшку).
limits.conf - это PAM, поэтому, я так понимаю, достаточно перелогиниться.
ReplyDeleteДа, благодарю, после релогина применяется новое значение.
ReplyDeleteспасибо, полезная статья
ReplyDeleteВсегда пожалуйста :)
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteможно задать параметр на лету
ReplyDeleteulimit -n 999999
This comment has been removed by the author.
ReplyDeleteЛучше поздно, чем никогда. Чтобы оно воткнулось на лету. Просто перевойдите. То есть, закройте баш сессию, и снова ее откройте и настройки применяться.
ReplyDelete