【问题标题】:Monitor Java heap usage监控 Java 堆使用情况
【发布时间】:2016-07-18 06:27:18
【问题描述】:

我即将监控各个节点的 JVM 内存利用率。 该工具 (JON 3.3) 具有不同的指标,例如初始堆/非堆、已提交堆/非堆、已用堆/非堆、最大堆/非堆使用量。 我决定监控已使用的堆和已提交的堆使用情况,以观察 JVM 的内存性能。

如果不是,除了已使用和已提交的堆使用情况外,还应监视哪些其他参数是否足以监视所提到的参数。请就此提出建议。

enter image description here

【问题讨论】:

    标签: java memory-management heap-memory rhq


    【解决方案1】:
    • init

      表示 Java 虚拟机在启动期间从操作系统请求用于内存管理的初始内存量(以字节为单位)。 Java 虚拟机可能会向操作系统请求额外的内存,也可能会随着时间的推移向系统释放内存。 init 的值可能未定义。

    • used

      表示当前使用的内存量(以字节为单位)。

    • committed

      表示保证可供 Java 虚拟机使用的内存量(以字节为单位)。已提交的内存量可能会随时间变化(增加或减少)。 Java 虚拟机可能会向系统释放内存,并且提交的内存可能少于 init。已提交将始终大于或等于已使用。 max 表示可用于内存管理的最大内存量(以字节为单位)。它的值可能是未定义的。如果已定义,最大内存量可能会随时间而变化。如果定义了 max,则已使用和已提交的内存量将始终小于或等于 max。如果尝试增加已使用的内存,即使 used

      +----------------------------------------------+
      +////////////////           |                  +
      +////////////////           |                  +
      +----------------------------------------------+
      
      |--------|
         init
      |---------------|
             used
      |---------------------------|
                committed
      |----------------------------------------------|
      
    • 非堆内存(~Perm)

      另外,JVM还有堆以外的内存,称为非堆内存。它在 JVM 启动时创建并存储每个类的结构,例如运行时常量池、字段和方法数据,以及方法和构造函数的代码,以及内部字符串。

    【讨论】:

      猜你喜欢
      • 2012-03-15
      • 1970-01-01
      • 2018-05-04
      • 1970-01-01
      • 1970-01-01
      • 2013-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多