J'étais curieux au sujet de la sortie de runhprof? Je suis principalement préoccupé par la section de la mémoire. Il semble qu'il y ait plusieurs entrées de la même classe. Pourquoi cela serait-il?Java: pourquoi plusieurs objets apparaissent-ils avec la sortie de runhprof?
Existe-t-il un moyen d'obtenir hprof pour imprimer la quantité de mémoire qu'une classe particulière (les instances de cette classe) doit prendre en mémoire. Une valeur pour chaque classe.
En outre, quels outils utilisez-vous à côté de «chapeau» pour analyser la sortie?
j'ai couru la commande java avec jvm arg:
-Xrunhprof: tas = emplacements, profondeur = 4, format = a, file = prof/hprof_dump.txt
Voici bref extrait de la sortie . Certaines classes sont répertoriées plusieurs fois dans la sortie.
SITES BEGIN (ordered by live bytes) Tue Jul 28 19:33:41 2009 percent live alloc'ed stack class rank self accum bytes objs bytes objs trace name 1 29.75% 29.75% 700080 43755 576000016 36000001 307483 java.lang.Double 2 7.13% 36.88% 167840 5245 370432 11576 300993 clojure.lang.PersistentHashMap$LeafNode 3 2.09% 38.98% 49296 2054 60048 2502 301295 clojure.lang.Symbol 4 2.09% 41.07% 49200 3 49200 3 301071 char[] 5 1.33% 42.40% 31344 1306 68088 2837 300998 clojure.lang.PersistentHashMap$BitmapIndexedNode 6 1.10% 43.50% 25800 645 25800 645 301050 clojure.lang.Var 7 1.05% 44.54% 24624 3 24624 3 301069 byte[] 8 0.86% 45.40% 20184 841 49608 2067 301003 clojure.lang.PersistentHashMap$INode[] 9 0.78% 46.18% 18304 572 58720 1835 301308 clojure.lang.PersistentList 10 0.75% 46.93% 17568 549 17568 549 308832 java.lang.String[] 11 0.70% 47.62% 16416 2 16416 2 301036 byte[]
le fichier de vidage ou le fichier créé à partir de hprof. –
Devrait être la même chose. –
Oui, je l'ai juste couru. Freaking parfait. Merci. Fonctionne avec des décharges de tas de 1,5 également. –