gpt4 book ai didi

Java "Out of memory error"- 堆/系统 - 去哪里找?

转载 作者:行者123 更新时间:2023-11-28 22:14:12 26 4
gpt4 key购买 nike

在我的 Tomcat 应用程序中,我最终遇到“内存不足”和“无法分配内存”错误。我想这与堆无关,因为它完全填满了系统内存,我几乎无法运行 bash 命令。

这个问题是怎么连接到堆上的?我如何才能正确设置堆大小,以便应用程序有足够的内存并且不会消耗过多的系统资源?

奇怪的是,一旦出现问题,“top”命令一直说tomcat只消耗了20%的内存,而且还有空闲内存。

谢谢。

编辑:

跟进: BufferedImage leaks - are there any alternatives?

最佳答案

运行 bash 脚本的问题可能表示 I/O 问题,如果您的 JVM 一直在执行 Full GC(就是这种情况) ,如果你的堆快满了)。

首先要做的是使用-Xmx 增加堆。这可能会解决问题,或者 - 如果您有内存泄漏,它不会,您最终会再次遇到 OutOfMemoryError

在这种情况下,您需要分析内存转储。参见 my answer in this thread一些说明。

此外,启用垃圾收集日志(使用 -Xloggc:/path/to/log.file -XX:+PrintGCDetails)然后使用 GCViewer 分析它们可能很有用。或 HPJmeter .

关于Java "Out of memory error"- 堆/系统 - 去哪里找?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10893820/

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