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

Java Discussion :

[JVM] Connaitre la taille mémoire utilisé par les dif classe


Sujet :

Java

  1. #1
    Membre confirmé
    Avatar de sur_uix
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2002
    Messages : 379
    Points : 550
    Points
    550
    Par défaut [JVM] Connaitre la taille mémoire utilisé par les dif classe
    Bonjour,
    Je voudrai savoir s'il existe un moyen ou un soft pour connaitre comment les mémoires de la JVM est utilisé par les différent classes.
    Un peu comme le task manager sous windows.

    Par ce que j'ai deux framework sous Tomcat : BC4J et UIX Tomcat monte jusqu'à 600Mo en charge, mais je ne sais pas lequelle des deux me boufe le plus de resource.

    Merci pour vos lumières,

  2. #2
    Membre expérimenté
    Avatar de RanDomX
    Profil pro
    sans
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 1 407
    Points
    1 407
    Par défaut
    Si t'as bcp d'argent a dépenser , je te conseille Optimize It ( de borland maintenant si je ne m'abuses), il est vraiment très complet.

    Sinon il y a des options a passer dans la JVM ( -prof ou -cpu=old ou -Xrunhprof ou -Xprof ou -Xhprof -Xaprof)

    Pour toi je pense que c -Xaprof.

    Essais ca et dit nous ce qu'il en est.

    Et aussi ca depends des infos que tu veux exactement et de ta version de JDK....


    @+

  3. #3
    Membre confirmé
    Avatar de sur_uix
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2002
    Messages : 379
    Points : 550
    Points
    550
    Par défaut
    Merci pour la réponse.
    Je ne connaisais pas ces paramètres.
    -Xaprof graçe à google m'a permis de trouver des "Profiler generators" et j'en ai trouvé un pour le web : JMemProf -> http://oss.metaparadigm.com/jmemprof/

    Pour l'instant ça me suffit.

    Encore merci.

    PS. J'ai essayé de lancer tomcat avec -Xaprof, mais je n'ai rien eu dans le log. Qu'est ce que fait ce param exactement ? Ou sont stockée les info.


  4. #4
    Membre expérimenté
    Avatar de RanDomX
    Profil pro
    sans
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 1 407
    Points
    1 407
    Par défaut
    -Xaprof c'est un profiler d'allocation simple ( et pas trop verbeux comme les autres ) qui te permet de visualiser le nombre et la taille des instances alouées par classes, sur l'ensemble des threads et tout et tout.

    ca ssort un truc du genre:

    Size Instances Average Class
    ----------------------------------------------------
    15200 254 73 mypackages.myClasse
    ...


    voila

    @+

  5. #5
    Membre confirmé
    Avatar de sur_uix
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2002
    Messages : 379
    Points : 550
    Points
    550
    Par défaut
    Alors pour finir j'ai quand même testé -Xaprof.
    Pour avoir un dump de Xaprof j'ai lancé Tomcat avec à la fin >>dump.tomcat.
    Comme ça j'ai le résultat de Xaprof dans un fichier.

    Ce qui me dérange c'est que la classe qui prend le plus de plasse mémoire c'est la classe "[C". C'est quoi ça ?

    Je vous passse le début du log.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    ________________Size__Instances__Average__Class________________
               194752312    1633391      119  [C
                68534224     641277      107  [B
                31744080     485472       65  [Ljava.lang.Object;
                25745016    1072709       24  java.lang.String
                14600064     608336       24  java.lang.StringBuffer
                 9903392     122839       81  [S
                 8488928      81382      104  [I
                 5214720     108640       48  oracle.xml.parser.v2.XDKData
    J'ai aussi vu qu'il y a un JSR sur le sujet
    http://www.jcp.org/en/jsr/detail?id=163
    Merci pour votre aide.

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

Discussions similaires

  1. Comment libérer l'éspace mémoire utilisé par Acrobat Reader?
    Par Matt2094 dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 28/03/2006, 18h48
  2. Trouvé la mémoire utilisé par un processus (selon sont pid)
    Par Coussati dans le forum API, COM et SDKs
    Réponses: 1
    Dernier message: 21/02/2006, 03h02
  3. Supprimer la mémoire utilisée par les variables globales
    Par dnaprotector dans le forum OpenGL
    Réponses: 4
    Dernier message: 21/07/2005, 14h18
  4. [JVM]connaitre la quantité mémoire consomé par une image.
    Par Higestromm dans le forum Général Java
    Réponses: 3
    Dernier message: 12/05/2005, 13h16

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