gpt4 book ai didi

tomcat - 负载测试期间内存不断上升

转载 作者:行者123 更新时间:2023-11-28 23:09:26 25 4
gpt4 key购买 nike

我们正在使用 Jersey、Spring、hibernate 来开发 RESTful 服务器。使用 JMeter 工具在本地运行负载测试并使用 javamelody 监控 CPU 和内存使用情况。

几天后,我发现内存一直在上升,但似乎永远不会释放回来。我从 javamelody 生成堆转储并使用 Eclipse 内存分析器 (MAT) 检查任何内存泄漏,但结果是没有发现内存泄漏。

enter image description here

我不知道内存不断上升的原因。有经验的人知道原因吗?

我的服务器环境是 Tomcat 9 和 MySQL 数据库。

下面是 Tomcat Java 选项

-Xms1024m

-Xmx4096m

-XX:NewSize=512m

-XX:MaxNewSize=2560m

-XX:MaxGCPauseMillis=250

-XX:+UseConcMarkSweepGC

-XX:+UseAdaptiveGCBoundary

-XX:+CMSClassUnloadingEnabled

-XX:PermSize=300m

-XX:MaxPermSize=300m

-Dnetworkaddress.cache.ttl=43200

谢谢!

最佳答案

JVM 有一种懒惰的垃圾回收方法。它不会尝试释放内存,直到它接近 xmx 值。此外,为 xmxxms 使用相同的值通常是一个很好的做法,这应该会为您提供更好的性能,因为 GC 发生的频率更高,但工作量会减少。尝试将 xmx 和 xms 都设置为 4G 并查看其行为。

关于tomcat - 负载测试期间内存不断上升,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59369292/

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