JProfiler紹介
ej-technologies社が開発したJavaアプリケーションのパフォーマンス診断ツールです。
今度はJProfilerを使用してアプリケーションのパフォーマンスを診断してみます。
インストール
JProfiler UI をインストールします:
https://www.ej-technologies.com/download/jprofiler/files
JProfilerで診断
サンプルコード
public class OOMTest {
public static void main(String[] args) {
int i=0;
List<String> list = new ArrayList<>();
String str = "OOM and GC";
while(true) {
list.add(str);
str = str + str;
i = i++;
}
}
}
実行オプション
-Xms5m -Xmx5m -XX:-DoEscapeAnalysis -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=C:\dengxinrong\44.JVM
実行結果
java.lang.OutOfMemoryError: Java heap space
Dumping heap to C:\dengxinrong\44.JVM\java_pid24120.hprof ...
Heap dump file created [3939064 bytes in 0.012 secs]
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOfRange(Arrays.java:3664)
at java.lang.String.<init>(String.java:207)
at java.lang.StringBuilder.toString(StringBuilder.java:413)
at OOMTest.main(OOMTest.java:14)