jhat -baseline
en effet ne fonctionnera pas avec les décharges produites par jmap
. Je ne suis pas certain, mais je crois c'est parce que hprof attache à la JVM dès le départ et conserve sa propre piste d'objets, ce qui lui permet de produire des ID cohérentes sur plusieurs décharges. Ne me citez pas là-dessus. D'une manière ou d'une autre, le point important en ce qui vous concerne est que les vidages de jmap ne fonctionnent pas.
Cependant, tout n'est pas perdu. Va chercher le Eclipse Memory Analyzer. (. Si vous ne l'utilisez Eclipse, ne craignez pas, vous pouvez l'obtenir comme un exécutable autonome) Il est plus rapide que jhat, utilise moins de mémoire que jhat et il peut faire ce que vous voulez:
- dump2 Ouvert (avec File | Open Heap Dump). Ne vous embêtez pas à le faire créer un rapport pour vous.
- Ouverture dump1 (même manière). Encore une fois, pas de rapport.
- Dans l'onglet pour dump2, cliquez sur "Histogramme"
- Sur la droite de la barre d'outils dans le sous-onglet Histogramme est "Comparer à un autre tas". Cliquez dessus.
- Sélectionnez dump1 dans votre boîte de dialogue en tant que vidage à utiliser comme ligne de base.
- Presto, vous avez les différences entre dump2 et le dump1 de base.
Tout cela fonctionne très bien avec un vidage jmap.
Pouvez-vous détailler la version de la plate-forme (Windows? Unix?) Et le jdk? – VonC