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

VB.NET Discussion :

Comment vérifier si le GarbageCollector fonctionne


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 33
    Par défaut Comment vérifier si le GarbageCollector fonctionne
    Bonjour,

    Je suis sur une application dans laquelle je créé et utilise des tâches.
    Lors de leur création, la mémoire vive utilisée augmente de 12Mo.
    Une fois que celles-ci ne sont plus utiles j'utilise "dispose" pour libérer la mémoire mais ça ne se voit pas sur le gestionnaire des tâches( la mémoire vive reste au même niveau).

    Est ce que cela peut venir du GarbageCollector ou alors c'est moi qui fais mal les choses ?!

    Cordialement,

    Julien

  2. #2
    Membre Expert Avatar de Danyel
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    1 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 699
    Par défaut
    D'apres ce que j'ai pu en voir, la liberation de la memoire n'est pas immediate mais quand le garbage le decide.
    J'avais meme cree un petit bout de code me permettant d'augmenter et de liberer la mémoire sur demande, et bien sur ma boucle, des fois c'etait apres 4 cycles, des fois 8 cycles, d'autres fois beaucoup plus ou beaucoup moins, sans que je puisse savoir le pourquoi du comment.

  3. #3
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    En clair il n'y a vraiment aucun moyen pratique de contrôler le GC.
    La seule option laissée au programmeur est dans l'optique où tu utilisais un très grand nombre d'objets et que ton application change durablement d'état (grande libération d'objets, etc.), et dans ce cas tu peux passer un GC.Collect(). Mais en général, même cette fonction est déconseillées

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 33
    Par défaut
    Bonjour,

    Merci pour vos réponses.

    J'ai de nouveau une question du même genre mais je fais une nouvelle question "Pourquoi le Close d'une frm ne libère pas la mémoire vive?".

    Cordialement,

    Julien

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 46
    Par défaut mauvaise question posée !
    Citation Envoyé par amoniaque Voir le message
    Bonjour,

    Merci pour vos réponses.

    J'ai de nouveau une question du même genre mais je fais une nouvelle question "Pourquoi le Close d'une frm ne libère pas la mémoire vive?".

    Cordialement,

    Julien
    Si windows gère lui même la mémoire vive, c'est pour mettre en cache certains objets, même s'ils ont été effacés. Nous ne sommes plus à l'époque de Win95, ce n'est pas grave si on n'a que quelques Mo de libre en mémoire vive, la plus grande partie de la mémoire utilisée est en fait un cache qui peut se vider très vite, et qui se révèle très utile dans une utilisation classique de ton O.S.

    PS : linux fait de même

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

Discussions similaires

  1. Comment vérifier si Excel est installé ?
    Par mathieutlse dans le forum API, COM et SDKs
    Réponses: 9
    Dernier message: 16/08/2017, 18h49
  2. Réponses: 5
    Dernier message: 05/08/2011, 00h15
  3. Comment vérifier le Fonctionnement de Port Db 9
    Par pizomx dans le forum Hardware
    Réponses: 3
    Dernier message: 14/01/2011, 10h37
  4. Comment vérifier le bon fonctionnement d'un cron
    Par homers dans le forum Administration système
    Réponses: 1
    Dernier message: 07/01/2010, 08h20
  5. comment vérifier qu'une table esclave vérifie une condition?
    Par loikiloik dans le forum Langage SQL
    Réponses: 2
    Dernier message: 20/04/2004, 16h48

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