2016-01-19 11 views
5

Ho un profilo che ho creato con Java Mission Control che ha abilitato il profilo di allocazione. Quando l'ho utilizzato dall'interfaccia utente di JMC per registrare, tutto funziona correttamente e ottengo i risultati.Come registrare le allocazioni con JFR sulla riga di comando?

Tuttavia, dopo aver esportato le impostazioni e provato a registrare con JFR sulla riga di comando, non ottengo le registrazioni registrate, anche se ottengo altre informazioni di profilazione.

corro la registrazione con le seguenti impostazioni: JAVA_OPTS="$JAVA_OPTS -XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:FlightRecorderOptions=defaultrecording=true,settings='<path_to_settings>/settings.jfc',dumponexit=true,dumponexitpath=<output>" java -jar stuff

Quando si carica la registrazione nel JMC e controllando la parte di memoria, vedo un messaggio Event type 'Allocation in new TLAB' is not enabled in this recording.

Il file delle impostazioni è qui: https://gist.github.com/jmiettinen/1976f9bbe156ecb5e232 e ha le relative impostazioni java/object_alloc_in_new_TLAB e java/object_alloc_outside_TLAB abilitate.

mi manca qualcosa qui? Sto eseguendo 1.8.0_66 e vorrei avere una registrazione continua dall'inizio dell'applicazione fino a quando non viene interrotta.

+1

Queste opzioni sembrano funzionare per me se si desidera avere una registrazione continua con le impostazioni speciali e ottenere di scaricare i dati all'uscita: -XX: FlightRecorderOptions = dumponexit = true, dumponexitpath = rec.jfr -XX: StartFlightRecording = defaultrecording = true, impostazioni = d: /tmp/wop.jfc – Klara

risposta

6

verificata con @jmiettin a Jfokus che queste bandiere fare il trucco:

Queste opzioni sembrano funzionare per me se si vuole avere una registrazione continua con le impostazioni speciali e farlo per scaricare i dati sul uscita: -XX: FlightRecorderOptions = dumponexit = true, dumponexitpath = rec.jfr XX: StartFlightRecording = defaultrecording = true, impostazioni = d: /tmp/wop.jfc

la differenza è di mettere defaultrecording e le impostazioni dei parametri dopo il XX: Contrassegno StartFlightRecording.

1

Quale versione del JDK stai utilizzando?

C'è un bug, corretto in 7u76 e 8u20, in cui il parametro delle impostazioni non viene rispettato se defaultrecording = true.

Problemi correlati