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

Langage Perl Discussion :

memoire utilisée par les variables ?


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Par défaut memoire utilisée par les variables ?
    Bonjour,
    J'ai un script qui utilise pas mal de mémoire (>10Go), et je voudrais connaitre la part de chaque variable (hash, et objet) à une certaine position du script.
    Sauriez vous comment proceder ?
    Z.

  2. #2
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822

  3. #3
    Membre émérite
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Par défaut
    J'obtiens un 'out of memory!' avec ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print total_size($NanoAlign->{_PROBES_MAPPED}), "\n";
    Sachant que NanoAlign est un objet, et que $NanoAlign->{_PROBES_MAPPED} est un énorme hash.

    Est ce lié a cet aspect de Devel::Size ?
    Citation Envoyé par CPAN
    DANGERS

    Devel::Size, because of the way it works, can consume a considerable amount of memory as it runs. It will use five pointers, two integers, and two bytes worth of storage, plus potential alignment and bucket overhead, per thing it looks at. This memory is released at the end, but it may fragment your free pool, and will definitely expand your process' memory footprint.
    Precision niveau mémoire : mon script semble utiliser au max env 11go de mémoire (il dure longtemps, alors je ne peut pas dire s'il yn a un pique a un moment), et la becane dispose jusqu'a 32Go, mais en général environ 25Go sont libres.

    Z.

  4. #4
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    possible. Essaye de tester d'autres variables. Et d'ailleurs, t'as pas moyen de faire autrement ? Car un script qui consomme 10 Go de mémoire, ça craint un peu non !!!

  5. #5
    Membre chevronné Avatar de iblis
    Inscrit en
    Janvier 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 58

    Informations forums :
    Inscription : Janvier 2007
    Messages : 510
    Par défaut
    C'est presque le genre de situation de débugage où il faut avoir un Perl compilé avec DEBUGGING_MSTATS ou mieux avec DDEBUGGING sous la main. Tu peux alors utiliser mstat() avec Devel::Peek.

  6. #6
    Membre émérite
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Par défaut
    non, j'ai plus ou moins le choix. En tres gros, je parse un fichier de 1.4go. Mais par la suite, ce fichier pourra être encore plus gros.

    Mais je voudrais connaitre les max que j'atteinds, et surtout dans quelles conditions.

    J'ai jamais utiliser le debugger. Je vais creuser dans cette voie.

    Z.

  7. #7
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    La taille du fichier a parser n'est pas le souci, mais la façon dont tu t'y prends ! Peux t on en savoir plus ?

Discussions similaires

  1. Mémoire utilisée par les variables
    Par Tintou dans le forum VBA Access
    Réponses: 1
    Dernier message: 19/09/2008, 14h33
  2. [FPDF] unité de mesure utilisée par les documents pdf
    Par calitom dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 09/10/2006, 15h17
  3. [VB6] Liberer la memoire utilisée par une variable Objet
    Par ProgElecT dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 25/08/2006, 19h17
  4. comment connaitre la memoire utilisée par une appli?
    Par afrikha dans le forum Autres Logiciels
    Réponses: 11
    Dernier message: 19/11/2005, 21h24
  5. Supprimer la mémoire utilisée par les variables globales
    Par dnaprotector dans le forum OpenGL
    Réponses: 4
    Dernier message: 21/07/2005, 13h18

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