Page 1 of 1

Увеличить кол-во открытых файлов

Posted: Mon Jun 29, 2015 9:58 am
by rustamakhmetov
Добрый день

Vesta: 14
ОС: Debian 7.8

Добавил 1412 сайтов, при перезагрузке apache2 получаю ошибку: "(24)Too many open files: could not open mime types config file /etc/mime.types.
Configuration Failed"

ulimit -a

Code: Select all

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 63752
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 63752
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
В /etc/security/limits.conf добавил:

Code: Select all

* soft nofile 100000
* hard nofile 100000
* soft nproc 65535
* hard nproc 65535
В /etc/pam.d/su раскомментировал

Code: Select all

session    required   pam_limits.so
В /etc/sysctl.conf добавил:

Code: Select all

sys.fs.file-max = 100000
Перезагрузил сервер.
Кол-во открытых файлов не изменилось:

Code: Select all

open files                      (-n) 1024
Где еще нужно поправить?

Re: Увеличить кол-во открытых файлов

Posted: Mon Jun 29, 2015 3:15 pm
by shpion4ik
А reboot после внесения конфигов сделали?

Re: Увеличить кол-во открытых файлов

Posted: Mon Jun 29, 2015 5:15 pm
by rustamakhmetov
shpion4ik wrote:А reboot после внесения конфигов сделали?
да

Re: Увеличить кол-во открытых файлов

Posted: Wed Jul 01, 2015 7:24 pm
by skurudo
Варианты:
- ulimit -s unlimited в /etc/init.d/apache2
-
nano /etc/sysctl.conf

Code: Select all

fs.file-max = 999999
nano /etc/security/limits.conf

Code: Select all

* - nofile 999999
и команду в консоли - ulimit -n 999999

Re: Увеличить кол-во открытых файлов

Posted: Mon Nov 09, 2015 4:26 pm
by orka13
Та же ситуация.
CentOS 6.7 \ vesta 0.9.8 15
Рекомендовали такие правки:
Ограничение на количество одновременно открытых файлов.
Можешь в home/admin/conf/web
в файлах
httpd.conf, nginx.conf позакомментировать все строки в которых встречается слово Log. (перед ними диез поставить)
Тогда не будет логов на домены, но все будет работать.
ну еще можно попробовать ulimit -n 16384, но не думаю что это поможет)
Еще не пробовал. Есть более правильные решения?

Re: Увеличить кол-во открытых файлов

Posted: Mon Nov 09, 2015 4:40 pm
by skurudo
orka13 wrote:Та же ситуация.
CentOS 6.7 \ vesta 0.9.8 15
Решение в целом аналогичное тому, что указано выше.
orka13 wrote:Рекомендовали такие правки:
Ограничение на количество одновременно открытых файлов.
...httpd.conf, nginx.conf позакомментировать все строки в которых встречается слово Log. (перед ними диез поставить)
...
ну еще можно попробовать ulimit -n 16384, но не думаю что это поможет)
Еще не пробовал. Есть более правильные решения?
Вот здесь не нужно путать теплое с мягким. То, что предложили с логами - это капля в море. То, что предложили с логами - это решение скорее для хайлоада, чтобы снизить запросы к жесткому диску.

Re: Увеличить кол-во открытых файлов

Posted: Mon Nov 09, 2015 5:13 pm
by orka13
Я так понял, все нужное собрано в посте http://forum.vestacp.com/viewtopic.php? ... 179#p28914
Второй и третий файл нашел, но вот где этот файл на CENTOS не знаю:
ulimit -s unlimited в /etc/init.d/apache2
UPD:
погуглил, нашел:
CentOS Конфигурационный файл (файл с настройками) веб-сервера Apache находится в файле /etc/httpd/conf/httpd.conf
его править?

UPD2:
Сам себе отвечу:
Скорее-всего нет, так как после добавления в конец строки:

Code: Select all

ulimit -s unlimited
httpd перестал запускаться совсем.

UPD3:
Но остальные шаги дали результат, пока вроде все норм работает даже при большом количестве доменов.

Re: Увеличить кол-во открытых файлов

Posted: Wed Nov 11, 2015 9:52 pm
by BoBka_altRUist
Добавлю свои 5 копеек, тоже сталкивался с такой проблемой (правда на панели isp manager), на сервере около 3 тыс доменов, если в системе не получается поднять nlimit ( поднятием в /etc/security/limits.conf ), то можно его поднять конкретно для nginx:

в файл:
/etc/default/nginx
добавить строки:
ulimit -n 128186
ulimit -p 128186

после заметил, что nginx держит соединения, но apache валится с ошибкой Too many open files, особенно когда скрипт php делает include других файлов,

чтобы поднять лимит в apache:

в файле:
/etc/apache2/envvars
добавить/изменить строку:

## If you need a higher file descriptor limit, uncomment and adjust the
## following line (default is 8192):
APACHE_ULIMIT_MAX_FILES='ulimit -n 65536'

также можно добавить в скрипт запуска apache:
/etc/init.d/apache2

добавить:
ulimit -n 65536

тогда при выполнении /etc/init.d/apache2 restart будут применяться значения.

p.s.: добавил для последователей, может и пригодится, а то сам потратил немало времени пока решил проблему, а в это время не работали сайты

Re: Увеличить кол-во открытых файлов

Posted: Thu Feb 23, 2017 4:31 pm
by djyarik
Нет теска, твой вариант не пашет. Я не знаю как он у тебя заработал.

Решение проблемы(Too many open files apache) оказалось простым, надо было под тем юзером что запускает апач указать лимиты /etc/security/limits.conf

* soft nproc 65535
* hard nproc 65535
* soft nofile 65536
* hard nofile 65536
root soft nofile 65536
root hard nofile 65536

Re: Увеличить кол-во открытых файлов

Posted: Mon Feb 27, 2017 1:49 pm
by skurudo