IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Trop de fichiers ouverts


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de uriotcea
    Homme Profil pro
    Ingénieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Par défaut Trop de fichiers ouverts
    Bonjour,

    Je suis sous linux et gcc 4.2.1, et j'ai un code en developpement plutot complexe avec des dizaines de threads et de connections ftp en même temps. Enfin un vrai micmac. Voila aprés quelque jour d'utilisation j'ai droit à un plantage du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    GLib-ERROR **: Cannot create pipe main loop wake-up: Trop de fichiers ouverts
    J'ai bien essayer d'augmenter la nombre fichiers ouverts en même temps autorisé avec la func "setrlimit(RLIMIT_NOFILE,&corelimit)" mais si ca va surement me permettre de durer plus longtemps ce n'est évidemment pas satistfaisant. J'ai regardé un peut partout si j'oublié pas de fermer des fichiers ouvert mais sans rien trouver.

    Enfin y a-til moyen connaitre le nombre de fichiers ouverts dans un programme qui tourne, cela me permettrait de trouver le soucie.

    Merci d'avance

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    327
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 327
    Par défaut
    Bonjour,
    As tu jeter un oeil sur ce site http://www.linuxplusvalue.be/mylpv.php?id=203.
    J'espère que cela pourra d'aider.
    A bientôt

  3. #3
    Membre Expert
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Par défaut
    lsof ?

  4. #4
    Membre éprouvé Avatar de uriotcea
    Homme Profil pro
    Ingénieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Par défaut
    Oui "WAKAN" comme je disais j'ai déjà regardé de ce coté, mais le probleme n'est pas là à priori.

    Isof ???

  5. #5
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Par défaut
    lsof est une commande sur les systèmes unix.
    man lsof pour plus d'info
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Par défaut
    sous linux, on peut simplement regarder dans le répertoire /proc/pid/fd pour avoir la liste des fichiers ouverts à un instant donné par le processus qui a pour numéro pid.

    Et pour traçer les ouvertures et fermetures de fichiers d'un processus au cours du temps, il y a la commande strace qui peut aussi être bien utile.

  7. #7
    Membre éprouvé Avatar de uriotcea
    Homme Profil pro
    Ingénieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Par défaut
    Je n'ai pas ce type de répertoire sous Suze !

  8. #8
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Par défaut
    Citation Envoyé par uriotcea Voir le message
    Je n'ai pas ce type de répertoire sous Suze !
    Ah. Ca peut arriver mais si c'est une version pas trop vieille c'est quand même inattendu. Ca produit une erreur si sous un shell tu lances la commande suivante:

    ??
    (ça liste les fichiers du processus shell)

  9. #9
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Le moyen c'est simple, c'est de faire en sorte que ton programme ne fuit pas des ressources...
    Utilise le RAII.

  10. #10
    Membre éprouvé Avatar de uriotcea
    Homme Profil pro
    Ingénieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Par défaut
    Ok j'ai finit par trouver ce répertoire et surveiller mon code. A priori le nombre fichier ouvert est constant est faible. Je ne comprend donc pas ce type de plantage
    C'est Quoi RAII

Discussions similaires

  1. Parrait il que j ai trop de fichier ouvert, comment controler ceci
    Par pierrot10 dans le forum Administration système
    Réponses: 0
    Dernier message: 21/09/2009, 09h07
  2. Trop de fichiers ouverts
    Par HASSIOMAR dans le forum Bases de données
    Réponses: 4
    Dernier message: 20/10/2008, 16h02
  3. Pbm compilation trop de fichiers ouverts
    Par HASSIOMAR dans le forum Bases de données
    Réponses: 1
    Dernier message: 18/10/2008, 10h39
  4. [TP] Trop de fichiers ouverts : plantage
    Par Jeff on the web dans le forum Turbo Pascal
    Réponses: 15
    Dernier message: 18/01/2008, 15h23
  5. Trop de fichiers ouverts ...
    Par djidji dans le forum C
    Réponses: 4
    Dernier message: 01/12/2005, 17h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo