Tomcat 负载测试期间内存保持上升

Tomcat 负载测试期间内存保持上升,tomcat,memory-leaks,jmeter,Tomcat,Memory Leaks,Jmeter,我们正在使用Jersey、Spring和hibernate开发一个RESTful服务器。使用JMeter工具在本地运行负载测试,并使用javamelody监视CPU和内存使用情况 几天后,我发现记忆一直在上升,但似乎再也没有恢复。我从javamelody生成堆转储,并使用Eclipse内存分析器(MAT)检查任何内存泄漏,但结果没有发现内存泄漏 我不知道是什么原因导致记忆力不断提高。 有经验的人知道原因吗 我的服务器环境是Tomcat 9和MySQL数据库 下面是TomcatJava选项 -X

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

几天后,我发现记忆一直在上升,但似乎再也没有恢复。我从javamelody生成堆转储,并使用Eclipse内存分析器(MAT)检查任何内存泄漏,但结果没有发现内存泄漏

我不知道是什么原因导致记忆力不断提高。 有经验的人知道原因吗

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

下面是TomcatJava选项

-Xms1024m

-Xmx4096m

-XX:NewSize=512m

-XX:MaxNewSize=2560m

-XX:maxgc=250

-XX:+UseConMarkSweepGC

-XX:+UseAdaptivegBoundary

-XX:+CMSClassUnloadingEnabled

-XX:PermSize=300m

-XX:MaxPermSize=300m

-Dnetworkaddress.cache.ttl=43200


谢谢

JVM有一种惰性的垃圾收集方法。在接近
xmx
值之前,它不会尝试释放内存。另外,对于
xmx
xms
使用相同的值通常也是一种很好的做法,这会使您的性能更好,因为GC发生的频率更高,但工作起来会更轻松。尝试将xmx和xms都设置为4G,然后查看其行为

补充资料要求。RAM大小、#内核、MySQL主机服务器上的任何SSD设备?在pastebin.com上发布并共享链接。从SSH登录根目录,文本结果为:B)显示全局状态;至少3天正常运行后C)显示全局变量;D) 显示完整的进程列表;E) 完整的MySQLTuner报告和可选的非常有用的信息,如果有的话,包括-htop或top用于大多数活动应用程序,ulimit-a用于Linux/Unix限制列表,iostat-xm 5 3用于按设备和核心/cpu计数计算的IOPS,用于服务器工作负载优化分析以提供建议。@WilsonHauck我的服务器有32GB RAM,i7 CPU和256GB SSD。在我的负载测试期间,CPU使用率仅约为5%。MySQL全局变量和状态中有很多值。我认为这很难在这里表现出来。你有需要的变量吗?请在pastebin.com上发布并共享链接,以避免存储限制。这是一个免费的文本文件共享网站。谢谢你的建议。我将尝试此操作并再次运行负载测试!