Tools und Befehle, die für die Fehlerbehebung in Java hilfreich sein können
Tools und Befehle, die für die Fehlerbehebung in Java hilfreich sein können
»Ich habe es für mich zusammengestellt
- https://qiita.com/YN0314/items/5e5c57d52ac1379daf6d
- https://qiita.com/i_matsui/items/4997ebedbdd7a6495509
- https://qiita.com/i_matsui/items/aabbdaa169c6ae51ecb3
- https://qiita.com/i_matsui/items/0d1ae2c7e9d17b6c04e0
- ↑ Ich habe es mit Bezug auf den Artikel gesehen
Java-Prozessliste (jps)
Sie können die Prozessliste von Java sehen
$JAVA_HOME/bin/jps
# -Weitere Details finden Sie in v. Beim Start übergebene Optionen usw.
97312 RemoteMavenServer
97399 WSSampleMain
97398 Launcher
97403 Jps
81229 sbt-launch.jar
97005
97324 NailgunRunner
Stack Dump (jstack)
$JAVA_HOME/bin/jstack $Prozessnummer
# -Sie können es sogar in dem Prozess erhalten, der in F hängt
heap dump(jmap)
Kann mit dem Befehl jmap ausgeführt werden
$JAVA_HOME/bin/jmap -histo $Prozessnummer
#Welche und wie viele Objekte befinden sich im Speicher? Was ist die Größe? Geh raus
$JAVA_HOME/bin/jmap -heap $Prozessnummer
#Sie können die Situation des Haufens sehen
- Java-Anwendung stoppt beim Abrufen von Heapdump *
jcmd
Der Typ, der es zusammengestellt hat
https://www.ibm.com/developerworks/jp/java/library/j-5things8.html
Praktisches Werkzeug
JMC
――Sie können den Stapel und den Heap in der GUI sehen.
jvm-mon
- Grafische Ansicht der CPU-Auslastung, Prozesse, Threads und Heap-Spezifikationen auf dem Terminal
Java-Optionen
Wenn die JVM in OOM abstürzt, wird ein Heap-Dump ohne Erlaubnis ausgegeben
java -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$Zielverzeichnis entladen
Löschen Sie das GC-Protokoll
So lesen Sie das Protokoll
- Wenn Sie GC sagen, außer Full GC
- Voller GC ist wie der Name schon sagt
--
~~ K-> ~~ K
ist die Menge an Speicher, die vorher und nachher verwendet wird
Ausgabe auf Standardausgabe
java -verbose:gc
Wird in einer Datei ausgegeben
java -Xloggc:./gclog/gc.log
Möglichkeit
- Tageszeiten
- -XX:+PrintGCDateStamps
--Einzelheiten
- -XX:+PrintGCDetails
- Protokollrotation
- -XX:+UseGCLogFileRotation
- -XX:GCLogFileSize=N
--Wenn N 1K, 1M, 1G ist, können Sie den Rotationsschwellenwert der Protokolldatei festlegen.
- -XX:NumberOfGCLogFiles=N
--N Protokolldateien werden für die Anzahl der Dateien als 0, 1, 2 ... gedreht
--Wenn die Ausgabe bis zu N erfolgt, wird sie von 0 überschrieben