gpt4 book ai didi

java - Spring Boot 中使用 ExecutorService 时的 "Out Of Memory"和 "GC over limit exceeded"

转载 作者:行者123 更新时间:2023-12-02 09:11:29 25 4
gpt4 key购买 nike

我们已经创建了 Spring Listener/Consumer,接收来自 ActiveMQ 的消息并将其存储在 RDBMS 中。该应用程序持续运行。我们使用 ExecutorService 作为 Listener 来接收消息。其线程池大小=15。如果应用程序运行超过几个小时,它将停止并出现内存不足错误。

  1. 请有人帮忙找出此错误的原因。
  2. 自从服务关闭以来,GC 如何与 executorService 一起工作仅当应用程序停止时。

最佳答案

您的应用程序中存在内存泄漏,或者您正在累积应该进行垃圾收集的对象。您应该使用类似 JProfiler 的软件找出原因。

您还可以增加 JVM 可用的 RAM,但如果不修复泄漏,这只是一个临时解决方案

How the GC works with executorService,Since the service shutdown only when the application stops.

错误告诉您它无法创建新线程,因为没有足够的内存。

关于java - Spring Boot 中使用 ExecutorService 时的 "Out Of Memory"和 "GC over limit exceeded",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59391430/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com