2012-05-24 3 views
0

J'utilise VisualVM (Built in JDK1.6) pour analyser mon application Java à la recherche de fuites de mémoire. J'utilise Heap Dump et le Profiler (moniteur de mémoire) les deux caractéristiques de VisualVM ... il y a une certaine incohérence je ne peux pas comprendre, en dumping le tas je peux voir qu'il y a une classe que j'ai écrite avec environ 8000 instance, en regardant dans les classes de profileur & instances je ne peux pas trouver la classe liée .. après quelques décharges de tas avec une période de temps entre je peux voir que le nombre d'instances de la classe augmente et toujours dans le profileur a disparu.Incompatibilité du tas de tas VisualVM avec le profileur

Je me demande si cette classe fuit, et pourquoi je ne vois pas cela sur le moniteur profiler?

Merci pour l'aide.

Répondre

1

Dans le moniteur VisualVM est équivalent de vidage de tas. Instances de profilage créées à partir du début de la session de profilage. Mais si vous avez dit que le nombre d'instances augmente, elles devraient aller au résultat du profileur. Étrange. Ce travail pour moi. Essayez un autre profileur. Je préfère YourKit.

+0

YourKit rols :) –

+0

Oui. Cela donne beaucoup plus d'avenir - comme des inspections. Il me permet d'économiser beaucoup de temps pour les tâches où vous avez besoin pour trouver Exaple FileOutputStream ou fuite de mémoire. – alexey28