2012-11-01 17 views

risposta

3

Il formato esatto dei messaggi GC dipende dalla versione di JVM e dalle impostazioni JVM. Puoi vedere i campioni allo Oracle tutorial about GC tuning.

DefNew è un collettore predefinito. È seriale o parallela, che viene scelta dipende, di nuovo, dalla versione/impostazioni JVM. È possibile visualizzare le impostazioni predefinite in JDK 6 utilizzando java -XX:+PrintCommandLineFlags -version. Sul mio sistema esso stampa:

-XX:MaxHeapSize=1073741824 -XX:ParallelGCThreads=4 -XX:+PrintCommandLineFlags -XX:+UseParallelGC 

che significa GC parallela è DefNew per me. È possibile controllare questo SO question e uno dei suoi riferimenti di risposte this table, potrebbe essere che ti aiuterà.

UPDATE Il GC di vecchia generazione predefinito in JDK 6 è ParallelOldGC, vedere this enlightening pdf. In particolare, è possibile modificare il GC di Old Gen in uno più recente in modalità Concorrent-mark-sweep utilizzando l'opzione JVM -XX:+UseConcMarkSweepGC .

+0

I ho guardato questo documento ma non riesco a collegare DefNew, PSYoungGen o ParOldGen a specifici collezionisti. Dove posso trovare un tavolo di questo? – user1329339

+0

Perché le generazioni non sono collegate a specifici raccoglitori. Ce n'è solo uno. È necessario leggere il modello GC generazionale e ottenere Visual VM in esecuzione: http://www.javaworld.com/javaworld/jw-01-2002/jw-0111-hotspotgc.html – duffymo

+0

@duffymo: capisco che le generazioni non siano connesso con specifici collezionisti Dopo aver provato me stesso, penso di vedere che DefNew significa Serial Collector, ParNew significa CMS Collector e PSYoungGen significa Parallel Collector sulle giovani generazioni. Quello che sto cercando è una tabella di traduzione per tutte le opzioni. – user1329339

1

È possibile trovare esempi di registro GC per tutti gli algoritmi di garbage collection JSM HotSpot in this article.

-XX:+PrintGCDetails deve essere abilitato per il livello di dettagli nel registro GC.

2

citando il libro "Java Performance" da Charlie Hunt, il nome dello spazio giovani generazioni utilizzato nei registri GC modifiche con il GC utilizzato:

PSYoungGen => ParallelGC 
ParNew => CMS 
DefNew => SerialGC 

io non sono sicuro di G1