在一夜之间运行我的Java应用程序时,我收到了一些java.lang.OutOfMemoryError: GC overhead limit exceeded错误:
java.lang.OutOfMemoryError: Java heap space
Dumping heap to java_pid6376.hprof ...
Heap dump file created [512149941 bytes in 23.586 secs]
23:34:52,163 WARN [HDScanner] Scan failed
java.lang.OutOfMemoryError: Java heap space
23:34:52,298 ERROR [ContainerBase] Exception invoking periodic operation:
java.lang.OutOfMemoryError: Java heap space
23:34:52,321 ERROR [JIoEndpoint] Socket accept failed
java.lang.OutOfMemoryError: Java heap space
at java.net.ServerSocket.accept(Unknown Source)
at org.apache.tomcat.util.net.DefaultServerSocketFactory.acceptSocket(DefaultServerSocketFactory.java:61)
at org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:310)如果我打开jvisualvm,我可以看到我确实没有堆空间了:

我想分析一下它是怎么回事-有内存泄漏吗?然而,我无法让jvisualvm分析器做任何事情。Profiler选项卡显示了有关启用类共享的警告:

不过,...even已将标志添加到VM中:

所以,
G1GC而不是我目前使用的...whatever GC吗?发布于 2011-01-21 10:04:23
在我看来,您在32位JVM上运行VisualVM,在64位JVM上运行JBoss。在这种情况下,分析器和其他东西,如线程和CPU监视,不适用于开箱即用的Windows。使用分析器时,您将遇到错误#273,其中探查器被错误地启用。你应该做以下几点:
https://stackoverflow.com/questions/4660334
复制相似问题