Comment puis-je prendre un tas de vidage sur Java 5 sans nettoyage en premier?
Nous avons une longue course d'application serveur Java 5, et le profilage, nous pouvons voir l'ancienne génération développe lentement au fil du temps. Elle est libérée correctement sur un full GC, mais je voudrais être en mesure de regarder à l'inaccessible objets dans Eclipse TAPIS à l'aide d'un tas de vidage. J'ai réussi à obtenir un tas de vidage à l'aide de +XX:HeapDumpOnCtrlBreak, mais la JVM fait toujours un GC avant de dumping de la tas. Apparemment, ce n'est pas le cas sur la version 6 de Java, mais nous sommes coincés sur 5 pour l'instant. Est-il un moyen pour éviter cela?
OriginalL'auteur Colin | 2009-08-12
Vous devez vous connecter pour publier un commentaire.
Je suggère un 3e partie profiler comme YourKit, ce qui vous permettra de prendre des clichés sans coup d'envoi de la GC en premier. Bonus supplémentaire, vous pouvez prendre un instantané sans l'ensemble ctrl-pause manigances.
OriginalL'auteur skaffman
utilisation jconsole ou visualvm ou jmc ou ... d'autres jmx console de gestion.
ouvrir HotSpotDiagnostic dans com.soleil.de la gestion.
sélectionnez la méthode de dumpHeap d'entrée et de deux paramètres:
false
de vider tous les objets.Noter que le fichier de vidage sera écrit par la JVM vous connecté à, pas par JVisualVM, de sorte que si la JVM est en cours d'exécution sur un système différent, il sera écrit sur ce système.
Notez que VisualVM nécessite la
VisualVM-MBeans
plugin pour cela.OriginalL'auteur daggett
Avez-vous essayé de la norme jmap outil livré avec le JDK?
Le jmap de péage a été officiellement introduit dans Java 5.
Exemple de ligne de commande:
/java/bin/jmap -tas:format=b
Le résultat peut être traitée avec la norme jhat outil ou avec les applications avec interface graphique tels que les TAPIS.
OriginalL'auteur Robert Höglund
J'ai un code ici qui peut par programme de prendre un tas de vidage sur JMX:
Lien: JmxHeapDumper.java
Les commentaires dans le code source contient 2 liens vers des articles qui contenait des informations utiles sur la façon de prendre des tas de décharges. Je ne sais pas pour vous, mais si vous avez de la chance, peut-être le JMX approche aurait une certaine manière d'éviter le GC. Espérons que cette aide !
OriginalL'auteur Peter Thomas
jProfiler (ej-technologies) peuvent le faire.
OriginalL'auteur Lawrence Dol