1

ログには、数時間でダウンするコードがあります

java.lang.OutOfMemoryError: GC overhead limit exceeded
        at java.io.FileDescriptor.<init>(FileDescriptor.java:62)
        at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:217)
        at org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink$Boss.run(NioServerSocketPipelineSink.java:235)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:722)

このような問題を追跡するにはどうすればよいですか? 役立つツールはありますか?スタックは、コード内のどの行も指していません。

4

3 に答える 3

3

ヒープ ダンプは、メモリ リークの根本原因を見つけるために分析する必要があるものです。

ヒープ ダンプの分析に使用されるjhatや jprofiler などのツールがあります。

于 2012-08-02T21:58:29.167 に答える
2

Java アプリケーションの CPU およびメモリ使用量を監視するツールは多数あります。たとえば、JDK 1.6 にはjvisualvmプロファイリング ツールがあります。collectまた、オプションで使用できるコマンドを含む Sun Profiling Studio もあり-jます (詳細はドキュメントを参照)。

PS collectコマンドはとても楽しいです。実際に実行されたアセンブリ コードを表示できます。

于 2012-08-02T21:58:43.997 に答える
0

あなたはあなたの問題を解決するために多くのオプションがあります。ここに無料の監視ツールがあります、これを見てください

于 2012-08-03T04:51:45.107 に答える