[JAVA] Ich habe den neuen Feature-Profiler von IntelliJ IDEA 2019.2 ausprobiert.

Neue Funktionen von IntelliJ IDEA 2019 \ .2 \ | Samuraism Co., Ltd.

Diese neue Funktion ist wunderschön!

Ich verbessere oft die Leistung, aber IntelliJ IDEA verfügt auch über ein Profiling-Tool, daher habe ich versucht, es zu verwenden. Es schien praktisch, also sieht es so aus, als ob dies in Zukunft die Hauptwaffe sein wird.

Annahme: Ubuntu 19.04, Scala (kann auch Java sein)

Einstellmethode

Drücken Sie + wie unten gezeigt, um eine Reihe von Profilern hinzuzufügen, und drücken Sie OK Screenshot from 2019-07-27 10-01-05.png

Dann ist beim Ausführen etwas im Menü, also versuchen Sie vorerst, "Run'somehow" mit "Profiler" zu drücken Screenshot from 2019-07-27 10-34-46.png

↓ Modal wird also herauskommen Screenshot from 2019-07-27 10-00-11.png Wie angewiesen

sudo sh -c 'echo 1 > /proc/sys/kernel/perf_event_paranoid'
sudo sh -c 'echo 0 > /proc/sys/kernel/kptr_restrict'

Ausführen. Bei der Prüfung scheint diese Einstellung erforderlich zu sein, um Informationen über die Kernelleistung zu sammeln und zu analysieren. Wenn es sich nicht um Linux handelt, ist es möglicherweise nicht erforderlich, oder es wird eine andere Einstellungsmethode verwendet.

↓ In Verbindung stehender Artikel Kapitel 52 Compiler und Tools \ -Red Hat-Kundenportal Linux \ * Kernel-Analyse aktivieren

Ich habe versucht, mich zu profilieren

Registerkarte "Rahmendiagramm"

Hmmm, vielleicht benutze ich es nicht viel Screenshot from 2019-07-27 10-08-52.png

Call Tree Es wurde ein Baum und kam mit jeweils% heraus. Wenn Sie sich mit VisualVM profilieren, erhalten Sie so etwas. Die blaue Zahl rechts von% scheint die Anzahl der gefalteten Fälle zu sein. Screenshot from 2019-07-27 10-11-19.png Method List Es ist jetzt in der Reihenfolge sortiert, in der es abgetastet wurde. Sie können die Registerkarten "Rückverfolgung" und "Zusammengeführte Callees" aus der ausgewählten Methode auswählen. Auf der Registerkarte Back Trace können Sie verfolgen, wo es aufgerufen wurde. Screenshot from 2019-07-27 10-52-35.png

Die Registerkarte Zusammengeführte Callees sieht aus wie eine Methode, die innerhalb dieser Methode aufgerufen wird. Screenshot from 2019-07-27 10-53-19.png

Ich habe auch versucht, Java Flight Recorder zu verwenden

Es gibt verschiedene Dinge wie GC-Protokolle und die Anzahl der schwachen Referenzen. Screenshot from 2019-07-27 10-25-58.png

Recommended Posts

Ich habe den neuen Feature-Profiler von IntelliJ IDEA 2019.2 ausprobiert.
Ich habe versucht, den Profiler von IntelliJ IDEA zu verwenden
Ich habe das neue Yuan-Problem in Java ausprobiert
Ich habe die AutoValue-Bibliothek mit Intellij ausprobiert
Die Idee der schnellen Sortierung
Die Idee von jQuery
Ich habe versucht, die Server-Push-Funktion von Servlet 4.0 zu verwenden
05. Ich habe versucht, die Quelle von Spring Boot zu löschen
Ich habe versucht, die Kapazität von Spring Boot zu reduzieren
Ich habe versucht, das Docker Integration-Plug-In in IntelliJ zu installieren
Beachten Sie, dass ich von den Einstellungen des Android-Projekts von IntelliJ IDEA abhängig war
Ich habe das FizzBuzz-Problem ausprobiert
Ich habe JAX-RS ausprobiert und mir das Verfahren notiert
Ich habe die grundlegende Grammatik von Ruby kurz zusammengefasst
Ich habe versucht, eine Umgebung mit WSL2 + Docker + VSCode zu erstellen
Ich habe versucht, die Beispielanwendung gemäß der Idee des Buches "Micro Service Architecture" in einen Mikrodienst zu verwandeln.
Ich habe versucht, das Problem der "mehrstufigen Auswahl" mit Ruby zu lösen
Ich habe die Quelle von ArrayList gelesen, die ich gelesen habe
Ich habe versucht, mit Docker eine Plant UML Server-Umgebung zu erstellen
Ich habe den Eingabe- / Ausgabetyp von Java Lambda ~ Map Edition ~ ausprobiert
Ich habe versucht, die Cache-Funktion des Application Container Cloud Service zu verwenden
Ich habe die Quelle von Integer gelesen
Ich habe versucht, die Methode zu erklären
Ich habe die Quelle von Long gelesen
Ich habe das Java-Framework "Quarkus" ausprobiert.
[Rails] Ich habe versucht, die Anwendung zu löschen
Ich habe versucht, den Betrieb des gRPC-Servers mit grpcurl zu überprüfen
Ich habe versucht, die Methoden von Java String und StringBuilder zusammenzufassen
Ich habe die Quelle von Short gelesen
Ich habe die Quelle von Byte gelesen
Ich habe die Quelle von String gelesen
Ich habe versucht, das Problem des Google Tech Dev Guide zu lösen
Ich habe versucht, Google HttpClient von Java zu verwenden
Ich habe versucht, die wichtigsten Punkte des gRPC-Designs und der Entwicklung zusammenzufassen
Ich habe den Ergebnis-Cache der Methode von JCache (Ehcache 3) feat. Guice leicht ausprobiert
Ich habe versucht, den CPU-Kern mit Ruby voll auszunutzen
Ich habe versucht, den Zugriff von Lambda → Athena mit AWS X-Ray zu visualisieren
Ich habe versucht, die Geschwindigkeit von Graal VM mit JMH zu messen und zu vergleichen
Ich habe die interne Verarbeitung von Retrofit untersucht
[Tag: 5] Ich habe die Grundlagen von Java zusammengefasst
Es ist neu, aber ich habe versucht, Groonga zu verwenden
Ich habe versucht, das Iterator-Muster zu implementieren
Ich habe ein Plug-In für IntelliJ IDEA erstellt
Ich habe versucht, die Stream-API zusammenzufassen
Was ich versucht habe, als ich alle Felder einer Bohne bekommen wollte
Ich habe versucht, die Infrastrukturtechnologie der Ingenieure heutzutage mit dem Kochen zu vergleichen.
Ich habe den Teil von java.net.URL # getPath überprüft
[Rails] Ich habe versucht, die Version von Rails von 5.0 auf 5.2 zu erhöhen
Ich habe versucht, die Sitzung in Rails zu organisieren
Ich habe die Grundlagen der Zeicheneingabe verstanden
Ich habe die Eigenschaften von Java und .NET verglichen
C # (Grund der Kapselung)
Ich möchte den Inhalt der Absicht var_dump