Java JVM堆使用变化。这张图正常吗?
这是运行负载测试(Xmx=10g)时预生产服务器的JVM内存使用情况。我有几个问题Java JVM堆使用变化。这张图正常吗?,java,jvm,load-testing,Java,Jvm,Load Testing,这是运行负载测试(Xmx=10g)时预生产服务器的JVM内存使用情况。我有几个问题 垃圾收集器几乎每5分钟运行一次。在这5分钟内,堆已从3GB增长到10GB。这种增长正常吗?如果没有,如何分析我的应用程序中的问题 在两个垃圾回收器周期内,平均堆使用率会逐渐减少并突然增加。原因是什么 在第二条评论中提到的逐渐下降的内部,没有平稳的下降,存在着振动。原因是什么 这种堆利用模式有时被称为“锯”,在您的情况下,它保持一致,因此看起来是健康的。请看一篇文章,它深入探讨了常见的堆利用模式及其问题 答案取决于
这种堆利用模式有时被称为“锯”,在您的情况下,它保持一致,因此看起来是健康的。请看一篇文章,它深入探讨了常见的堆利用模式及其问题
在我看来,这是正常/合理的GC行为。您只需担心每5分钟的峰值是否向上。即使是向上的趋势,只要没有达到配置的最大堆或完整GC阈值,也不会发出警报。这一点很好。如果您的应用程序有一个(正确实现的)缓存,它可以安全地最大限度地利用内存。问题是,您的数据结构是否不断增长而不受限制;e、 内存泄漏。你好,卡罗尔,非常感谢你的解释。你所指的文件内容丰富,很有用。