Spring Boot和Java java.lang.OutOfMemoryError:超出了GC开销限制

user13155112:

我的VPS有问题。我有一台使用Spring Boot和Java创建的服务器。最初,我将-Xms默认设置为-Xmx4G。在客户端上多次致电后,出现此错误:

**Exception in thread "https-jsse-nio-80-exec-1743" java.lang.OutOfMemoryError: GC overhead
limit exceeded at java.util.Arrays.copyOfRange(Unknown Source)
    at java.lang.String.<init>(Unknown Source)
        at java.lang.String.substring(Unknown Source)
        at org.apache.tomcat.util.net.AbstractEndpoint.getSSLHostConfig(AbstractEndpoint.java:355)
        at .**

使用JMeter并打开JMC之后,我创建了2000个请求线程,并且可以看到服务器可以正常工作。在JMC上,堆空间由GC清除,但是在任务管理器中,Java的内存增加了,我认为问题是当我的VPS的RAM增加更多时。因此,当我的VPS的RAM饱和时,Java会抛出GC异常。你能帮助我吗?在此处输入图片说明

Abhishek Kothari:

当应用程序花费98%的时间进行垃圾回收时,JVM会抛出此错误。当您创建一个非常大的数组并继续销毁它时-GC可能会清理您的内存,但是GC太忙了,JVM会引发此错误。任务管理器显示了内存的增加,因为即使在GC清理了垃圾堆之后,仍然创建了数组并躺在无法清除的内存中。在这种情况下,您实际上需要破坏进程并清理内存。

您肯定必须了解这一事实,但想提一提-在任何时间创建如此大的数组也不是一个好的编码。选择流或缓冲的读取器来处理大数据而不是在堆内存中存储大数据总是好事。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Tomcat java.lang.OutOfMemoryError:超出了GC开销限制

java.lang.OutOfMemoryError:超出了GC开销限制

Pyspark:java.lang.OutOfMemoryError:超出了GC开销限制

错误java.lang.OutOfMemoryError:超出了GC开销限制

Jmeter java.lang.OutOfMemoryError:超出了GC开销限制

java.lang.OutOfMemoryError(超出了GC开销限制)

Java Spark-java.lang.OutOfMemoryError:超出了GC开销限制-大数据集

优化配置单元查询。java.lang.OutOfMemoryError:超出了Java堆空间/ GC开销限制

为什么Spark失败并出现java.lang.OutOfMemoryError:超出了GC开销限制?

java.lang.OutOfMemoryError:WSO2 MB上超出了GC开销限制

java.lang.OutOfMemoryError:Android 1.4超出了GC开销限制

kapt发生异常:java.lang.OutOfMemoryError:超出了GC开销限制

生成失败原因:java.lang.OutOfMemoryError:超出了GC开销限制

即时运行java.lang.OutOfMemoryError:超出了GC开销限制

PySpark错误java.lang.OutOfMemoryError:超出了GC开销限制

java.lang.OutOfMemoryError:在maven中运行findbugs时超出了GC开销限制

获取错误:java.lang.OutOfMemoryError:超出了GC开销限制

线程“主”中的异常java.lang.OutOfMemoryError:GWT应用程序中超出了GC开销限制

如何重现Java OutOfMemoryError-超出了GC开销限制

“ java.lang.OutOfMemoryError:超出GC开销限制”中的过多GC时间的持续时间

java.lang.OutOfMemoryError:mule和snowflake连接时超出GC开销限制错误

82秒内提取数据库中的一行,java.lang.OutOfMemoryError:对于大型数据库,超出了GC开销限制

外部进程可以强制JVM抛出“ java.lang.OutOfMemoryError:超出GC开销限制”

在Java Spark中收集数据集时超出了OutOfMemoryError GC开销限制

“ OutOfMemoryError:超出了GC开销限制”:使用Java解析大型json文件

java.lang.OutOfMemoryError:即使使用 -Xms1024M -Xmx2048M 也会超出 GC 开销限制

Grails / GGTS:编译产生org.apache.tools.ant.BuildException:java.lang.OutOfMemoryError:超出Java堆空间/ GC开销限制

读取Java中的Big文件,速度太慢,超出了gc开销限制

Elasticsearch和Java Spring Boot:java.lang.NoSuchMethodError: