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

Framework .NET Discussion :

Détections fuites et applications exponentiellement gourmande


Sujet :

Framework .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 35
    Par défaut Détections fuites et applications exponentiellement gourmande
    Bonjour à tous,

    Voilà dans le cadre professionel, je travaille avec les technos C++ (serveur) et C# (ile nterface).

    Nous avons utilisé Purify, associé à Visual Studio.

    En C++ les résultats permettent de vérifier le code etc.. alors qu'en C# les résultats ne sont pas concluants. Nous ne possèdons alors que des graphismes avec quelques appels au Garbage qui se trouvent être inssufisant.

    J'aimerais savoir si vous connaissez une appli permettant de mieux cerner le problème de fuites possibles en C# et oui l'appel du Garbage n'est pas infaillible; une appli tourne pendant un moment correctement mais après voit le CPU de la machine être consommé de maniere exponentielle et ne revient plus au seuil minimal d'utilisation.

    Merci pour votre aide, j'espère avoir été clair et compréhensif, veuillez m'excuser si cela n'est pas le cas, il se fait un peu tard.

    Bonne soirée à vous et encore merci.

  2. #2
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Par défaut
    y a pas de fuite mémoire en code managé ...

    a la rigueur si tu utilise des objets IDisposable sans les disposer quand il ne sont plus utilisé il reste pas mal de chose ouverte qui peuvent utiliser des ressources

  3. #3
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Par défaut
    Citation Envoyé par anthyme Voir le message
    y a pas de fuite mémoire en code managé ...
    en code managé oui mais en .NET non

    Citation Envoyé par anthyme Voir le message
    a la rigueur si tu utilise des objets IDisposable sans les disposer quand il ne sont plus utilisé il reste pas mal de chose ouverte qui peuvent utiliser des ressources
    exactement, 99,9% des problèmes de mémoire viennent des ressources non managé qui ne sont pas "dispose" après utilisation

  4. #4
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Par défaut
    ma réponse en elle même est un paradoxe

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 547
    Par défaut
    Salut,

    les disposables peuvent poser un probleme d'allongement annormal de la durée de vie mais de la à parler de "fuite" stricto sensu, c'est un peu excessif. Par contre, ce probleme peut en effet devenir dramatique si l'application créé des objets de ce type à foison.

    Pour note, les fuites peuvent exister en .Net du genre le coup classique de l'event ou de la list<> static qui gonfle sans fin. Ca reste marginal, mais ca arrive. =)

    Bref, je ne connais pas trop les outils commerciaux pouvant exister (ne les utilisant pas), mais CLR profiler permet d'avoir une bonne idée de qui fait quoi (tu laisses tourner ton app profiling desactivé le temps qu'elle s'affole, puis tu lances le profiling, et tu vas voir qui est le coupable dans ta timeline, ainsi que l'initiateur avec "Show who allocated").

  6. #6
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 35
    Par défaut
    Merci,

    En réalité le problème n'est pas réellement compliqué , l'appli est de plus en plus gourmande sur la durée. Donc appel du Garbage insuffisants.
    On a stratégiquement forcé certains appels mais cela n'a pas solutionné notre problème.

    La réelle question est existe-t-il un procédé ou un outil permettant d'identifier la source de ce manquement ou l'origine, la cause de ce gonflement.

    Encore merci de participer à cette réflection.

  7. #7
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Par défaut
    bin en lisant les réponses tu nous permettrait de ne pas nous répéter aller jte donne un indice :

    Citation Envoyé par SirJulio Voir le message
    Salut,

    les disposables peuvent poser un probleme d'allongement annormal de la durée de vie mais de la à parler de "fuite" stricto sensu, c'est un peu excessif. Par contre, ce probleme peut en effet devenir dramatique si l'application créé des objets de ce type à foison.

    Pour note, les fuites peuvent exister en .Net du genre le coup classique de l'event ou de la list<> static qui gonfle sans fin. Ca reste marginal, mais ca arrive. =)

    Bref, je ne connais pas trop les outils commerciaux pouvant exister (ne les utilisant pas), mais CLR profiler permet d'avoir une bonne idée de qui fait quoi (tu laisses tourner ton app profiling desactivé le temps qu'elle s'affole, puis tu lances le profiling, et tu vas voir qui est le coupable dans ta timeline, ainsi que l'initiateur avec "Show who allocated").

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 01/12/2013, 14h59
  2. [C++] Logiciel détection fuite mémoire pour Windows
    Par Aspic dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 10/12/2010, 18h49
  3. Outil détection fuite mémoire et autre
    Par coolzy dans le forum Visual Studio
    Réponses: 0
    Dernier message: 14/09/2010, 18h07

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