I have a code which will down in several hours, the log shows
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)
How to track the issue like this? Is there any tool can help?
The stack not point me any line in the code.
Heap dumps are the ones need to be analyzed to find out root causes for memory leaks.
There are tools like jhat and jprofiler etc., which will be used to analyze heap dumps.