gpt4 book ai didi

java - 关于内存不足异常

转载 作者:行者123 更新时间:2023-12-01 15:28:55 37 4
gpt4 key购买 nike

我使用线程池进行新的 IO 服务器设计。我已使用 newFixedThreadPool 作为创建线程池的 Executors 工厂方法。当我执行服务器 20 到 30 分钟时,我的服务器抛出异常。如何处理这个异常。

java.lang.OutOfMemoryError: Java heap space

最佳答案

显然您使用了太多内存,所以现在您需要找出原因。如果没有源代码,很难说哪里出了问题,但即使有源代码,当程序开始变得复杂时,也可能会出现问题。

我发现有用的是获取内存转储并在 Memory Analyzer (MAT) 等工具中查看它们。 。它甚至可以比较多个转储以查看分配了哪种对象。当您了解存在哪些您认为不应该存在的对象时,您可以使用该工具查看它的根(哪些对象引用了它)。

要从正在运行的 java 程序获取内存转储,请使用 jmap -dump:format=b,file=heap.bin ,并在程序出现 OutOfMemoryError 时自动获取内存转储,您可以运行它与 java -XX:+HeapDumpOnOutOfMemoryErrorfailing.java.Program

关于java - 关于内存不足异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9816214/

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