Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JAVA GC过热限制错误_Java_Multithreading_Garbage Collection - Fatal编程技术网

JAVA GC过热限制错误

JAVA GC过热限制错误,java,multithreading,garbage-collection,Java,Multithreading,Garbage Collection,我正在运行一个JAVA程序 当我试着运行这个程序时,这个程序说 Exception in thread "Thread-3" java.lang.OutOfMemoryError:GC overhead limit exceeded 我在谷歌上搜索,发现很多文档都说我需要使用-Xmx选项和-XX:-usegcOverdeLimit 尽管我使用了这些选项,但仍然不起作用。(我使用-Xmx4g获得更多内存) 虽然我关闭了UsegCoveredLimit,但为什么会显示此消息?我如何解决此问题?这和

我正在运行一个JAVA程序

当我试着运行这个程序时,这个程序说

Exception in thread "Thread-3" java.lang.OutOfMemoryError:GC overhead limit exceeded
我在谷歌上搜索,发现很多文档都说我需要使用-Xmx选项和-XX:-usegcOverdeLimit

尽管我使用了这些选项,但仍然不起作用。(我使用-Xmx4g获得更多内存)

虽然我关闭了UsegCoveredLimit,但为什么会显示此消息?我如何解决此问题?这和“线程”有关吗?(因为我在这个网站上看到了一个问题,他有同样的问题,但在“main”线程中出现了异常)


谢谢。

默认情况下,如果您在GC中花费的时间超过了总时间的98%,并且在GC恢复后,堆的2%以下,JVM将被配置为抛出此错误

我怀疑你的代码中有很多资源泄漏。如果您将代码粘贴到这里,以便我们可以查看,这将非常有用


还有其他方法可以使用积极的GC等,但在猜测之前,值得先看一下您的代码。

+1如果您有资源泄漏,您放弃的内存越多,它就消耗得越多。也有可能总是需要16 GB或64 GB或更大的容量,在这种情况下,将其设置得足够高将“修复”问题。同意+1,另外,我强烈建议不要使用-XX:-usegcoveredlimit选项,而不是修复问题。您只是在推迟不可避免的问题:应用程序内存不足,需要修复。将等待看到粘贴在问题中的代码:)我同意,该选项是为了保护您。