大佬教程收集整理的这篇文章主要介绍了Spring Boot - 无法完成请求 java.lang.OutOfMemoryError: Java heap space 的处理,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
更新 java 依赖项后,当我通过 post 上传 1 个以上的文件时,我面临 OutOfMemoryError。 该项目是一个简单的 Java SpringBoot 服务器,我需要发送 CSV 文件(~10/15 MB)。 服务器的错误是:
ERROR [serialparts-tecdoc-service,] 43717 --- [nio-9095-exec-2] o.a.coyote.http11.http11NioProtocol : Failed to complete processing of a request
java.lang.outOfMemoryError: Java heap space
at java.base/java.nio.HeapByteBuffer.<init>(HeapByteBuffer.java:64) ~[na:na]
at java.base/java.nio.byteBuffer.allocate(ByteBuffer.java:361) ~[na:na]
at org.apache.coyote.http11.http11OutputBuffer.<init>(http11OutputBuffer.java:110) ~[tomcat-embed-core-9.0.44.jar:9.0.44]
at org.apache.coyote.http11.http11Processor.<init>(http11Processor.java:163) ~[tomcat-embed-core-9.0.44.jar:9.0.44]
at org.apache.coyote.http11.Abstracthttp11Protocol.createProcessor(Abstracthttp11Protocol.java:1089) ~[tomcat-embed-core-9.0.44.jar:9.0.44]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:878) ~[tomcat-embed-core-9.0.44.jar:9.0.44]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) ~[tomcat-embed-core-9.0.44.jar:9.0.44]
at org.apache.tomcat.util.net.socketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.44.jar:9.0.44]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) ~[na:na]
at org.apache.tomcat.util.threads.TaskThread$WrapPingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.44.jar:9.0.44]
at java.base/java.lang.Thread.run(Thread.java:832) ~[na:na]
这是我项目的依赖列表:
<dependencIEs>
<dependency>
<groupID>org.springframework.boot</groupID>
<artifactID>spring-boot-starter-actuator</artifactID>
</dependency>
<dependency>
<groupID>org.springframework.boot</groupID>
<artifactID>spring-boot-starter-web</artifactID>
</dependency>
<dependency>
<groupID>org.springframework.cloud</groupID>
<artifactID>spring-cloud-starter-config</artifactID>
</dependency>
<dependency>
<groupID>org.springframework.boot</groupID>
<artifactID>spring-boot-devtools</artifactID>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupID>org.springframework.boot</groupID>
<artifactID>spring-boot-starter-test</artifactID>
<scope>test</scope>
</dependency>
<dependency>
<groupID>org.springframework.boot</groupID>
<artifactID>spring-boot-configuration-processor</artifactID>
<optional>true</optional>
</dependency>
<!-- <dependency>
<groupID>org.springframework.cloud</groupID>
<artifactID>spring-cloud-starter-netflix-eureka-clIEnt</artifactID>
</dependency> -->
<dependency>
<groupID>org.springframework.cloud</groupID>
<artifactID>spring-cloud-sleuth-zipkin</artifactID>
</dependency>
<dependency>
<groupID>org.springframework.cloud</groupID>
<artifactID>spring-cloud-starter-sleuth</artifactID>
</dependency>
<dependency>
<groupID>org.springframework.cloud</groupID>
<artifactID>spring-cloud-starter-bus-amqp</artifactID>
</dependency>
<dependency>
<groupID>org.Json</groupID>
<artifactID>Json</artifactID>
<version>20200518</version>
</dependency>
<dependency>
<groupID>org.apache.commons</groupID>
<artifactID>commons-lang3</artifactID>
</dependency>
<dependency>
<groupID>org.apache.commons</groupID>
<artifactID>commons-csv</artifactID>
<version>1.8</version>
</dependency>
<dependency>
<groupID>MysqL</groupID>
<artifactID>mysql-connector-java</artifactID>
<scope>runtime</scope>
</dependency>
<dependency>
<groupID>org.springframework.boot</groupID>
<artifactID>spring-boot-starter-data-jpa</artifactID>
</dependency>
<dependency>
<groupID>org.springframework.cloud</groupID>
<artifactID>spring-cloud-starter-netflix-hyStrix</artifactID>
</dependency>
<dependency>
<groupID>org.springframework.cloud</groupID>
<artifactID>spring-cloud-starter-openfeign</artifactID>
</dependency>
<dependency>
<groupID>org.apache.httpcomponents</groupID>
<artifactID>httpclIEnt</artifactID>
</dependency>
</dependencIEs>
我没有更改代码,但我更新了依赖项。 我想告诉你错误不是在很多时间之后,而是在我上传的第一个文件期间。
非常感谢您的帮助
首先检查内存泄漏为 here
另一种选择是给你的程序更大的堆内存大小
JVM 的,使用 maven-surefire-plugin
<configuration>
<argLine> -Xmx1024m </argLine>
</configuration>
但我再说一遍,检查您的应用程序是否存在内存泄漏。
如果您的程序需要更多内存,请尝试此操作。祝你好运:)
以上是大佬教程为你收集整理的Spring Boot - 无法完成请求 java.lang.OutOfMemoryError: Java heap space 的处理全部内容,希望文章能够帮你解决Spring Boot - 无法完成请求 java.lang.OutOfMemoryError: Java heap space 的处理所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。