gpt4 book ai didi

java - 如何在主要垃圾回收后通过 JMX 或代码监控内存

转载 作者:行者123 更新时间:2023-11-30 08:47:34 26 4
gpt4 key购买 nike

许多监控工具,比如那些非常棒的 JavaMelody ,只需监控当前的内存使用情况。如果你想检查内存泄漏或即将发生的内存不足情况,这不是特别有用,如果你有一个应用程序会生成大量垃圾并立即收集。不完美,但恕我直言,更有趣的是在主要垃圾收集后立即监视内存使用情况。如果该值很高,则表明崩溃迫在眉睫。

那么:您能否在上一次主要垃圾回收之后立即找出内存使用情况 - 无论是从 Java 代码还是通过 JMX?我知道有一些工具,比如 VisualVM这样做(这不是生产使用的选项),它可以写在垃圾收集日志中,但我正在寻找比解析垃圾收集日志文件更直接的解决方案。 :-) 明确一点:我正在寻找可以轻松用于生产中任何应用程序的东西,而不是任何昂贵的调试工具。

以防万一:带有 -XX:+UseConcMarkSweepGC 的 JDK 7,但我也对一般答案感兴趣。

最佳答案

有关在 gc 之后可用内存的信息(youg 或 old)可通过 JMX 获得。

垃圾收集器 MBean 具有 LastGcInfo 属性,该属性是复合数据对象,包括有关 GC 前后内存池大小的信息。

此外,从 Java 7 开始,JMX 通知订阅可用于接收 GC 事件而无需轮询。

您可以找到使用 GC MBean 的代码示例 here .

关于java - 如何在主要垃圾回收后通过 JMX 或代码监控内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32398555/

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