現在開発・運用している、Javaを使用したWebアプリケーションが先日クラッシュし、巨大なコアダンプ(5.5GBほど)を生成しました。これを解析しようとIBM Thread and Monitor Dump Analyzer for Javaを使用しようとしたのですが、コアダンプを読み込み始めてしばらくしたところで、コンソールに以下のエラーが出力されました。
Exception in thread "Thread-0" java.lang.OutOfMemoryError: Requested array size exceeds VM limit at java.util.Arrays.copyOf(Arrays.java:3332) at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:137) at java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:121) at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:569) at java.lang.StringBuffer.append(StringBuffer.java:369) at java.io.BufferedReader.readLine(BufferedReader.java:370) at java.io.BufferedReader.readLine(BufferedReader.java:389) at com.ibm.jinwoo.thread.FileTask.processThreadDump(FileTask.java:1858) at com.ibm.jinwoo.thread.FileTask$ActualTask.<init>(FileTask.java:215) at com.ibm.jinwoo.thread.FileTask$1.construct(FileTask.java:1368) at com.ibm.jinwoo.thread.ThreadHandler$1.run(ThreadHandler.java:31) at java.lang.Thread.run(Thread.java:745)
-Xmx10g
オプションを指定してヒープサイズを増やしてみましたが、同様のエラーが出てうまく行きませんでした。このような巨大なダンプを解析するのに使えるツールをご存知でしたら、教えてください。
あなたの回答
tips
プレビュー