2009-07-28 15 views
1

L'option de consignation des informations de garbage collection (GC) qui aide à régler la taille du tas ou diagnostiquer tout autre problème concernant la mémoire est faite par quoi?Garbage Collection

+0

vous pouvez consulter http://stackoverflow.com/questions/466878/can-you-get-basic-gc-stats-in -Java –

Répondre

4

-verbose:gc est ce que vous voulez. Pour plus d'informations, consultez la page GCPortal pour plus d'informations.

JConsole peut être utilisé pour surveiller la collecte des ordures graphique, qui peut parfois être utile pour identifier les tendances, etc.

1

En bref

  • -XX:PrintGCDetails - horaires et dimensions de l'espace pour chaque phase de GC
  • -XX:+PrintGCDateStamps - Ajouter des horodateurs aux logs gC
  • -XX:+PrintReferenceGC - Aide à la recherche d'abus de référence
  • -XX:+PrintPromotionFailure
  • -XX:+PrintGCApplicationStoppedTime - signaler tous les points de sécurité non seulement GC

More comprehensive list of GC options.

1

La consignation de la récupération de place dépend du type de machine virtuelle Java que vous utilisez. Il existe différents paramètres pour activer la journalisation GC en fonction de la JVM utilisée. Voici les paramètres qui doivent être inclus pour activer la journalisation GC:

SUN JVM: -XX: + PrintGCDetails -XX: + PrintGCDateStamps (Il imprimera temps et date) -verbose: gc - Xloggc: /path/gc.log

Remarque- -XX: + PrintGCTimeStamps (Il imprime l'heure après le redémarrage de la machine virtuelle Java en secondes et non l'horodatage au format hh: mm: ss. il est donc recommandé d'utiliser PrintGCDateStamps à la place)

JRockit -Xverbose -XverboseTimeStamp -Xverboselog: /path/gc.log

IBMJ9 -verbose: gc

1

Vous voudrez peut-être regarder Java Flight Recorder, qui vous donne complète GC statistiques avec très peu de frais généraux. Vous pouvez démarrer l'enregistrement JFR pendant que l'application est en cours d'exécution. Le fichier de sortie généré aura des informations détaillées sur les statistiques du GC. Vous devez ouvrir le fichier jfr de sortie en utilisant Java Mission Control.

0

Je travaillais avec ces options pour analyser les performances de GC pour JVM Sun/OpenJDK:

# Imprimer les détails Information GC

-XX:+PrintGCDetails

# timbres date d'impression lors d'événements GC afin de les mettre en corrélation avec les applications numéros

-XX:+PrintGCDateStamps

# print Utilisation HEAP (avant GC, GC, Young Gen, Old Gen, ...).

-XX:+PrintHeapAtGC

# print temps de traitement de référence pendant STW pause

-XX:+PrintReferenceGC

# print décision Jeune Gen faite par machine virtuelle Java. utile si vous n'avez pas défini une taille pour les jeunes Gen avec option NewRation

-XX:+PrintAdaptiveSizePolicy

# ajouter GC provoque aux journaux (System.gc, l'échec de la promotion, l'échec de mode concurrent, ...)

-XX:+PrintGCCause

# ajouter des détails pour l'échec de la promotion

-XX:+PrintPromotionFailure

la distribution # impression d'objets java qui peuplent le Gen Youn en fonction de leur âge. Utile pour voir si vos espaces Eden et survivants sont de bonne taille

-XX:+PrintTenuringDistribution

Questions connexes