Précédent   Forum des professionnels en informatique > Systèmes > Linux > Système
Système Vos questions autour de l'administration système
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/03/2011, 18h57   #1
Membre éprouvé
 
Avatar de AL1986
 
Inscription : juillet 2007
Messages : 434
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : juillet 2007
Messages : 434
Points : 401
Points : 401
Par défaut Erreur système : Too many open files

Bonjour,

Je dispose d'une machine virtuelle installée sur citrix xen, j'ai un debian lenny 64 dessus.

Je n'arrive pas à exécuter mon binaire car apparemment j'ai trop de fichiers ouverts. Voici ce que j'ai essayé de faire afin de remédier au problème :

J'ai vérifié le nombre max de descripteurs de fichiers au niveau du système :
sysctl -a donne fs.file-max = 70000, à priori y en a pas mal.
C'est la valeur configurée dans /etc/sysctl.conf.

J'ai vérifié les limites Hard et Soft de mon utilisateur :
ulimit -Ha donne open files (-n) 40000
ulimit -Sa donne open files (-n) 20000
Ce sont les valeurs configurées dans /etc/security/limits.conf.

J'ai vérifié le nombre de fichiers ouverts :
lsof | wc -l donne 2830

Il est clair que le nombre de fichiers ouverts est bien inférieur aux limites Hard et Soft, cependant mon binaire, me sort System error: Too many open files.

J'ai aussi torturé les valeurs des limites dans tous les sens (ptet pas), mais je ne suis arrivé à rien.

Je me demande si ce ne sont pas les limites du serveur de virtualisation qui me barrent la route .

Merci pour votre aide.
__________________
Citation:
Etre ou ne pas être, telle est la question sinusoïdale de l'anachorète hypocondriaque et vice et versa .
Bonsai monsieur, bonsai madame, vous avez gagnez un milliard de degrés au soleil .
There is no cure for stupidity (ou pas ).
AL1986 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 10/03/2011, 09h41   #2
Modérateur
 
Avatar de gangsoleil
 
R&D en systemes informatiques bas niveau Unix/Linux
Inscription : mai 2004
Messages : 5 464
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : R&D en systemes informatiques bas niveau Unix/Linux

Informations forums :
Inscription : mai 2004
Messages : 5 464
Points : 9 585
Points : 9 585
Bonjour,

Deja, on pourrait se demander ce que tu fais avec 2830 fichiers ouverts

Sinon, il faut que tu ailles voir les restrictions imposees par le systeme de virtualisation, mais aussi celles imposees par la distribution qui le fait tourner : si elle impose des restrictions plus fortes, ce seront elles qui seront appliquees en realite, et non celles de ton systeme virtualise.

La virtualisation c'est bien, a condition de ne rien faire dedans.
__________________
Modérateur "C", "Informatique Générale & Hardware" et "Unix"
Les règles du forum
gangsoleil est déconnecté   Envoyer un message privé Réponse avec citation 11
Vieux 22/03/2011, 22h23   #3
Membre expérimenté
 
Inscription : août 2008
Messages : 455
Détails du profil
Informations personnelles :
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : août 2008
Messages : 455
Points : 575
Points : 575
Envoyer un message via Skype™ à thierry.chich
Bonjour,

Perso, je ne crois pas du tout à la théorie de la limitation exo-OS (due au superviseur).
Plusieurs questions restent ouvertes:
est-ce qu'il une limite par processes (plutot que par utilisateur)
est-ce que tu es sur que ton lsof est mesuré au bon moment ? est-ce qu'il ne serait pas possible que tu ais un accroissement subit du nombre de fichier ? Un
Code :
strace -e open monprocess
te donnerait une idée de l'évolution du nombre de fichiers ouverts au moment de son plantage ...
thierry.chich est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 28/03/2011, 22h10   #4
Membre chevronné

 
Avatar de D[r]eadLock
 
Inscription : mai 2002
Messages : 504
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : mai 2002
Messages : 504
Points : 622
Points : 622
Tu peux aussi voir tous les fd ouvert par ton programme avec ls -l /proc/<pid>/fd et voir si tu n'as pas un leak de fd.
__________________
1)Avant de poster, merci de lire les règles. 2)Utiliser [code] [/code] pour quoter le code ! 3)Conseils pour le forum C [a lire en entier!]
D[r]eadLock est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h20.


 
 
 
 
Partenaires

Hébergement Web