J'essaie de diagnostiquer un problème de fuite de mémoire PermGen dans un serveur d'applications Sun One 9.1. Pour ce faire, j'ai besoin d'un vidage de tas du processus JVM. Malheureusement, le processus JVM est la version 1.5 exécutée sous Windows. Apparemment, aucune des façons de déclencher un vidage de tas ne supporte cette configuration. Je peux faire en sorte que la JVM effectue un vidage de mémoire après l'épuisement de la mémoire ou l'arrêt de la mémoire, mais je dois pouvoir obtenir des vidages de tas à des heures arbitraires.Trigger Hump Dump d'une JVM 1.5 s'exécutant sous Windows
Les deux méthodes mentionnées ci-dessus pour l'obtention de vidages de tas utilisent jmap ou utilisent le MBean HotSpotDiagnostic. Aucun de ceux-ci ne supporte jvm 1.5 sous Windows.
Y at-il une méthode que j'ai manquée? S'il y a un moyen de déclencher par programme un vidage de tas (sans utiliser le MBean HotSpotDiagnostic), cela le ferait aussi ...
Si ce n'est vraiment pas possible de le faire sous Windows, je suppose que je devrais recourir à la construction une machine virtuelle Linux et faire mon débogage là-bas.
Merci.
J'ai eu recours à l'aide -XX: + HeapDumpOnOutOfMemoryError avec une page jsp qui essaie d'allouer de très grands tableaux. Je peux juste frapper la page de jsp quand j'ai besoin d'un vidage de mémoire. Fonctionne assez bien. – jthg