Ich habe Java Flight Recorder (JFR) überprüft.

Was ist heutzutage Java Flight Recorde?

Java Flight Recorde (JFR) ist kurz gesagt ein Java-Profiler. Ein in Java SE Advanced enthaltenes Modul, für dessen Verwendung eine kommerzielle Lizenz (gegen Gebühr) in einer Produktionsumgebung erforderlich ist, das jedoch während der Entwicklung kostenlos verwendet werden kann.

JFR ist in die Java SE-Ausführungsumgebung von Java7 integriert. Es scheint die Daten, die bereits in der Java-Ausführungsumgebung gesammelt wurden, effizient aufzuzeichnen! Es wird auch in der neuesten Version von Java 9 enthalten sein.

Andere bekannte Java-Profiler als JFR jvmmonitor, JProfiler, JProbe, vor einiger Zeit gab es Eclipse's TPTP (Test & Performance Tools Platform), Es wird eine Gebühr erhoben oder die Entwicklung wird gestoppt und kann nicht mehr verwendet werden.

Wann verwenden Sie JFR? Was kann ich tun?

JFR stürzt plötzlich ab, wenn die Anwendung ständig ausgeführt wird! Oder diese Anwendung hat eine schlechte Antwort! Es ist ein Tool, das Sie verwenden können, wenn Sie Speicherlecks untersuchen oder die Leistung Ihrer Anwendung verbessern müssen.

Die Funktionen von JFR sind wie folgt.

Verwendung von JFR

Wird als Option für Java-Befehle verwendet

Geben Sie die folgenden Optionen an, um JFR aus Java-Befehlen zu verwenden.

So führen Sie die MyApp-Anwendung aus, um die Aufzeichnung sofort für 60 Sekunden zu starten und in einer Datei mit dem Namen record.jfr zu speichern

$ java -XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:StartFlightRecording=duration=60s,filename=/tmp/recording.jfr MyApp



 Unten finden Sie die Parameter von "-XX: Start Flight Recording".
[https://docs.oracle.com/cd/E22646_01/doc.40/b61441/optionxx.htm#BABIEFBA](https://docs.oracle.com/cd/E22646_01/doc.40/b61441/optionxx.htm#BABIEFBA)

## Wird mit dem Befehl jcmd verwendet
 Der Befehl jcmd ist ein Befehl, mit dem Sie einen laufenden Java-Prozess profilieren können.
 So verwenden Sie JFR über den Befehl jcmd
 Die Optionen "-XX: + UnlockCommercialFeatures" und "-XX: + FlightRecorder" müssen beim Starten der Java-Anwendung angegeben werden.

 So starten Sie die Aufzeichnung für 60 Sekunden in einem laufenden Java-Prozess mit der Prozesskennung 5368 und speichern sie in einer Datei mit dem Namen record.jfr


#### **`$ jcmd 5368 JFR.start duration=60s filename=/tmp/recording.jfr`**

Wo es sich mit Java9 ändert!

Es scheint, dass Java 9 die JFR-Benutzeroberfläche erheblich anders und benutzerfreundlicher machen wird. Die JFR-API wird unterstützt, um die Rekordersteuerung und die Generierung benutzerdefinierter Ereignisse zu ermöglichen.

Zusammenfassung

Die Leistung einer Anwendung wird stark von ihrer Erstellung beeinflusst, und ich denke, dass viele der Faktoren, die zu Leistungseinbußen führen, Probleme bei der Erstellung (Ersteller) sind.

Wenn Sie Profiling-Tools verwenden können, um Engpässe erfolgreich zu finden und zu beheben, Sie können die Leistung Ihrer Anwendung erheblich verbessern!

Lassen Sie uns Profiling-Tools effektiv nutzen, um bessere Produkte zu entwickeln.

JFR ist während der ** Entwicklung kostenlos erhältlich! ** ** **

Recommended Posts

Ich habe Java Flight Recorder (JFR) überprüft.
Fehlerbehebung mit Java Flight Recorder
Überprüfen Sie die Heap-Nutzung mit Java Flight Recorder
So zeichnen Sie JFR (Java Flight Recorder) auf und geben eine Dump-Datei aus
OpenJDK 11 Flugschreiber
Ich habe das überprüft
Ich habe zuerst Java touched berührt
Ich habe zuerst Java touched berührt
Ich habe zuerst Java touched berührt
Ich habe zuerst Java berührt
Ich habe versucht, das vorherige Leben vor dem vorherigen Leben anstelle von Zundoko Kiyoshi zu überprüfen
Führen Sie die Analyse mit OpenJDK11 Java Flight Recorder + Google Kubernetes Engine aus
Was ich über Java 8 recherchiert habe
Ich habe Java Gold gestartet (Kapitel 1-1)
Was ich über Java 6 recherchiert habe
Ich habe ein Roulette in Java gemacht.
Was ich über Java 9 recherchiert habe
Ich habe Java-Primitivtypen untersucht
Ich habe Java SE8 Gold genommen.
Ich habe Drools (Java, InputStream) ausprobiert.
Leistungsschaltermuster habe ich überprüft
Was ich über Java 7 recherchiert habe
Ich habe versucht, Java REPL zu verwenden
[Java] Ich habe versucht, die Kombination zu implementieren.
Bei der Java-Parallelverarbeitung bin ich mir nicht sicher
Ich habe den Konstruktor (Java) studiert.
Ich habe versucht, Metaprogrammierung mit Java
Was ich über Java 5 recherchiert habe