[Linux-bruxelles] Drupal ou PHP ? failed to open dir: Too many open files

Didier MISSON didier.misson at total.com
Lun 6 Juil 11:29:01 CEST 2009


linux-bruxelles-bounces at lists.bxlug.be wrote on 06/07/2009 00:55:41:

> Bonsoir,
> 
> Sur un serveur Debian, des sites en Drupal.
> J'obtiens de temps en temps ce message d'erreur :
> 
> http://twitpic.com/9ften
> 
> # warning:
> 
opendir(sites/all/modules/cck/modules/nodereference/panels/relationships)
> [function.opendir]: failed to open dir: Too many open files in
> /home/didier/www/drupal/includes/file.inc on line 888.
> # warning:
> 
opendir(sites/all/modules/cck/modules/userreference/panels/relationships)
> [function.opendir]: failed to open dir: Too many open files in
> /home/didier/www/drupal/includes/file.inc on line 888.
> # warning:
> opendir(sites/all/modules/cck/modules/fieldgroup/panels/content_types)
> [function.opendir]: failed to open dir: Too many open files in
> /home/didier/www/drupal/includes/file.inc on line 888.
> # warning:
> opendir(sites/all/modules/dfgallery/dfgallery/resources/themes/standard)
> [function.opendir]: failed to open dir: Too many open files in
> /home/didier/www/drupal/includes/file.inc on line 888.
> # warning:
> opendir(sites/all/modules/filefield/icons/protocons/16x16/mimetypes)
> [function.opendir]: failed to open dir: Too many open files in
> /home/didier/www/drupal/includes/file.inc on line 888.
> 
> ...
> 
> les noms des modules changent suivant les cas.
> 
> En général, je fais "reload" de la page, et ça passe sans erreur,
> mais j'aimerais bien comprendre et que ça ne se reproduise plus.
> 
> Pour info, comme je fais une maintenance, j'avais ouvert tous mes sites
> chacun dans un onglet de Firefox. Et j'ai cliqué un derrière l'autre sur
> "maintenance du site" (pas encore cliqué sur "Off")
> 
> Est-ce le fait que plusieurs onglets chargeaient des pages et donc que
> Apache et PHP ont eu beaucoup de demandent simultanées ?
> 
> Serait-ce une limitation dans la config de PHP et pas une erreur Drupal?
> Dans ce cas, quel paramètre devrais-je modifier pour ne plus avoir cette
> erreur ?

Hello,

Ce n'est peut-être pas un problème PHP...
mais quoi alors ?
Système ? Kernel ?

$ ulimit -a

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
max nice                        (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) unlimited
max locked memory       (kbytes, -l) unlimited
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) unlimited
max rt priority                 (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) unlimited
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited


----------------------------------

J'ai aussi essayé d'augmenter la variable
/proc/sys/fs/file-max
mais ça n'a rien changé :

$ cat /proc/sys/fs/file-nr
1888    0       201175


ça semble loin du maximum !

----------------------------------
ah...

Peut-être "ulimit" ?
Je n'ai pas encore bien compris, mais ce serait une limite par utilisateur 
?
càd que "www-data" (Apache) serait limité à 1024 fichiers simultanés ?

Pas encore vu exactement comment modifier cela
(si possible sans reboot du serveur... en plein journée, ce n'est pas top)
mais je vais chercher de ce côté là.

Si vous avez d'autres idées, ou des confirmations...

Merci et bonne journée,

-- 
Didier
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: </pipermail/linux-bruxelles/attachments/20090706/a290f025/attachment-0002.html>


Plus d'informations sur la liste de diffusion Linux-bruxelles