PHP 5.4.6: error "дофега открытых файлов"..

Проблемы с установкой, настройкой и работой системных и сетевых программ.

Модераторы: GRooVE, alexco

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
dekloper
ст. лейтенант
Сообщения: 1331
Зарегистрирован: 2008-02-24 15:43:19
Откуда: давно здесь сидим..
Контактная информация:

PHP 5.4.6: error "дофега открытых файлов"..

Непрочитанное сообщение dekloper » 2012-11-04 12:55:18

перестал отдаваться контент, в логах апача такой ерор:
Sun Nov 04 13:17:40 2012] [error] PHP Fatal error: require_once(): Failed opening required '/usr/local/www/чото_там.php' (include_path='.:/usr/local/share/pear') in /usr/local/www/чото_там.php on line 12
[Sun Nov 04 13:24:40 2012] [crit] [client 192.168.121.4] (23)Too many open files in system: /.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable

Код: Выделить всё

root@ws53:/root # php -v
PHP 5.4.6 (cli) (built: Aug 24 2012 15:55:10)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
как можно потюнить пшп иль апач?
ТОВАгИЩИ! БгАТЬЯ И СЕСТгЫ! ДОЛОЙ гАВНОДУШИЕ!

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: PHP 5.4.6: error "дофега открытых файлов"..

Непрочитанное сообщение FreeBSP » 2012-11-04 13:25:55

Код: Выделить всё

> sysctl -a | grep fil
kern.maxfiles: 7816
kern.bootfile: /boot/kernel/kernel
kern.maxfilesperproc: 7034
kern.openfiles: 241
kern.corefile: %N.core
...
> sysctl -d kern.maxfiles kern.maxfilesperproc kern.openfiles
kern.maxfiles: Maximum number of files
kern.maxfilesperproc: Maximum files allowed open per process
kern.openfiles: System-wide number of open files
не?
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

Аватара пользователя
dekloper
ст. лейтенант
Сообщения: 1331
Зарегистрирован: 2008-02-24 15:43:19
Откуда: давно здесь сидим..
Контактная информация:

Re: PHP 5.4.6: error "дофега открытых файлов"..

Непрочитанное сообщение dekloper » 2012-11-04 14:40:41

а какие цифры лучше туда воткнуть?
уменя так

Код: Выделить всё

root@ws53:/root # sysctl -a | grep fil
kern.maxfiles: 12328
kern.bootfile: /boot/kernel/kernel
kern.maxfilesperproc: 11095
kern.openfiles: 514
были подозрения на заббикс (он у меня на том же хосте вертелся)
када я ево притушил, ошибок какоето время не наблюдалось
а вот шас опять.. и без заббикса таже фигня..
ТОВАгИЩИ! БгАТЬЯ И СЕСТгЫ! ДОЛОЙ гАВНОДУШИЕ!

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: PHP 5.4.6: error "дофега открытых файлов"..

Непрочитанное сообщение FreeBSP » 2012-11-04 15:28:44

php как mpm работает? по идее можно попробовать уменьшить время жизни воркеров, они будут умирать и освобождать файлы
в портах есть утилитка lsof
ну и для диагностики воткни в крон скрипт типа

Код: Выделить всё

 echo -n `date` >> logfile;
echo -n `sysctl kern.openfiles` >> logfile; 
echo `lsof -p <httpd> >> logfile`
и посмотри что будет в логе перед падением
еще в портах есть утилитка lsof
потом, можно поправить sysctl - прмерно maxfiles где нить до 32к, maxfilesperproc=30к
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35418
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: PHP 5.4.6: error "дофега открытых файлов"..

Непрочитанное сообщение Alex Keda » 2012-11-05 16:35:36

ну это точно не php виноват.
поищщите по форуму - была похожая тема - я создавал там и решение было...
года три назад.
чё-то из этой оперы:

Код: Выделить всё

--- /tmp/select.h.orig  2010-05-13 16:37:45.000000000 +0400                                                                                                                                                                      
+++ /usr/src/sys/sys/select.h   2010-05-13 16:38:03.000000000 +0400
@@ -56,7 +56,7 @@
  * be enough for most uses.
  */
 #ifndef        FD_SETSIZE
-#define        FD_SETSIZE      1024U
+#define        FD_SETSIZE      32768U
 #endif
 
 #define        _NFDBITS        (sizeof(__fd_mask) * 8) /* bits per mask */
в 9.1 или даже 9.0 это уже поправили, там какое-то адекватное число по дефолту стало...
Убей их всех! Бог потом рассортирует...