heapdump taille vs hprof taille

J'ai récemment fait un heapdump dans un hprof format quand mon serveur jboss a été en cours d'exécution avec un xms de 4096m et xmx de 4096m et un permsize de 512m.

La hprof fichier généré est de plus de 5 go. Lorsque je charge le heapdump dans visualvm, tapis analyseur ou yourkit, je ne vois qu'un nombre total d'octets d'environ 1 go. J'ai essayé de changé l'accessibilité portée dans yourkit mais il ne montre pas plus de 1 go.

Une idée de ce que cette grande différence dans la taille des fichiers vs affiché heapdump taille peut causer?

ps: je suis en utilisant le jdk1.6.0_23

Malheureusement, je ne suis pas autorisé à soumettre des captures d'écran ici.

Sur le système de fichiers de la hprof taille est de 5.227.659 ko et en yourkit il déclare:

Objets: 9.738.282 /superficielle de la taille de 740 mo /oubli de taille: 740 mo Chaîne accessible parmi eux: 6.652.515 (68%) /superficielle taille: 381 mo (51%) /oubli de taille: 381 MO (51%)

La plus grande retenue est la taille d'un byte[] de 206.810.176

  • Vous pouvez poster la capture d'écran de la "Synthèse" de l'onglet de VisualVM?
  • Je ne peux pas ajouter des captures d'écran, mais j'ai ajouté l'info de yourkit
  • Les données de YourKit ne m'aide pas, je ne sais pas comment ils sont calculés. Je sais comment cela se fait dans VisualVM. Si vous voulez que je vous aide, fournir les données de Base "Info" de la partie (copie dans le menu contextuel) ou vous pouvez télécharger votre comprimé heap dump quelque part et m'envoyer le lien.
  • Salut Thomas, je ne peux pas vous fournir la heapdump en raison de restrictions de sécurité, mais je peux vous donner les infos de base: Date de la prise: Ven Juil 20 14:23:43 CEST 2012 Fichier: OutOfMemoryProd\20120720-20120723\FOFO1\java_11607_lnx0399vm_201207201423.hprof\java_11607_201207201423.hprof taille du Fichier: 5.147,4 MO nombre Total d'octets: 998.064.824 Total des classes: 24.457 Total d'instances: 10.241.901 chargeurs de classes: 1.728 GC racines: 0 Nombre d'objets dans l'attente de la finalisation: 0
  • "GC racines: 0" - ce qui est très suspect. Il ressemble à il ya quelque chose de mal avec votre tas de vidage.
  • Étrange, sa peine impossible de créer une fracture de la décharge ou de manière
  • Comme je l'ai dit, n'ayant pas de GC racines est certainement mauvais. J'ai peur que sans heap dump je ne peux pas dire quel est le problème.

InformationsquelleAutor Michael | 2012-07-26