[Linux-bruxelles] www-data : failed to open dir: Too many open files : ulimit -n

Didier MISSON didier.misson at total.com
Lun 6 Juil 11:49:47 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 ?

Le problème est une limitation du nombre de fichiers ouverts PAR USERS !
càd que Apache, le userid www-data, est limité à 1024 fichiers ouverts en 
même temps.
comme nous avons ajouté plusieurs sites, plusieurs VirtualHost,
ça explique l'augmentation de fichiers ouverts pourwww.data.

La commande 

ulimit -n     donne 1024, qui est le nombre maximum actuel de fichiers 
ouverts par userid.

la commande

ulimit -n 1300    débloque le problème, en montant le max à 1300 fichiers 
ouverts.

Je veux maintenant :
- rendre cela permanent
- autoriser 1300 ou 1500 fichiers uniquement pour www-data et pas pour 
tous les userids.

Je continue mes recherches.

;-)

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


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