2009-06-25 4 views
1

Lorsque la JVM s'exécute avec -XX: + UseParNewGC, nous obtenons une violation d'accès occasionnelle. Quand on regarde le fichier de vidage, on voitQuel est le GC parallèle standard appelé dans les vidages sur incident JVM?

Heap 
par new generation total 14784K, used 13689K [0x02bd0000, 0x03bd0000, 0x06950000) 
    eden space 13184K, 100% used [0x02bd0000, 0x038b0000, 0x038b0000) 
    from space 1600K, 31% used [0x03a40000, 0x03abe678, 0x03bd0000) 
    to space 1600K, 35% used [0x038b0000, 0x0393f800, 0x03a40000) 
concurrent mark-sweep generation total 125324K, used 93541K [0x06950000, 0x0e3b3000, 0x34bd0000) 
concurrent-mark-sweep perm gen total 53900K, used 32283K [0x34bd0000, 0x38073000, 0x38bd0000) 

Je suppose que « par de nouveaux » représenterait le ParNewGC.

Je veux Google pour les journaux similaires où le GC parallèle standard a été utilisé, est-ce que quelqu'un sait ce que je verrais sous "Heap" au lieu de "par nouvelle génération"?

Répondre

2

Quel genre de décharge obtenez-vous? Vous pouvez solliciter ce type d'informations à partir d'une machine virtuelle Java en effectuant simplement un HeapDump avec -XX: + HeapDumpOnCtrlBreak et envoyer une interruption de contrôle à votre processus. Vous pouvez ensuite analyser le fichier de vidage de tas et obtenir votre réponse. Bien sûr, si vous utilisez Java 6, il n'y a pas d'option HeapDumpOnCtrlBreak et vous devez utiliser l'outil jmap pour générer le vidage.

Questions connexes