2016-09-28 16 views
1

使用java旋律来监控生产环境中的内存使用情况。 要求是内存不应超过256MB/512MB如何使用java旋律自动化垃圾回收执行?

我已经完成了代码优化的最大但仍然使用的是448MB/512MB但是当我手动执行java旋律中的垃圾回收器时,内存消耗是109MB/512MB

+0

'不应该超过256MB/512MB'。第一个/第二个数字的含义是什么?最小最大值? –

回答

0

为什么你真的关心堆的使用?只要你设置了XMS(最大堆)就可以了。让java在适合时调用GC。只要你有免费的堆,为了拥有大量的免费堆而做GC和释放堆并不重要。

如果你想限制进程分配的进程XMX是不够的。您还应该限制本机内存。

你应该关心的是

  • 内存泄漏,连续完整的GC,GC饥饿
  • GC的KPI:延迟,吞吐量,足迹
  • GC的KPI:延迟,吞吐量,足迹
  • 对象创建率,促销率,回收率...
  • GC暂停时间统计:持续时间分布,平均值,计数,平均间隔,最小/最大值,标准差
  • GC导致统计数据:持续时间,百分比,最小/最大值,总数
  • GC阶段相关统计数据:每个GC算法都有几个子阶段。例如,对于G1:初始标志,此言一出,年轻,富有,并发标记,混合

更多技术详情,请参阅https://blog.gceasy.io/2017/05/30/improving-your-performance-reports/https://blog.gceasy.io/2017/05/31/gc-log-analysis-use-cases/。您还可以使用https://blog.gceasy.io/来分析GC日志,它将帮助您了解JVM如何使用内存。