应用性能管理 APM-JVM监控:内存指标图表
内存指标图表
如图1所示,展示设置的时间段内某个实例的总内存、堆内存、非堆内存等JVM不同内存区域的最大值、分配值和使用情况的趋势,也展示设置的时间段内某个实例的垃圾收集堆的GC时间和GC次数趋势。
JVM内存介绍
JVM区域总体分为Heap memory和Non-Heap memory。
- Heap memory:堆是Java 虚拟机运行时数据区域,分配所有实例和数组的内存。对象的堆内存由称为垃圾回收器的自动内存管理系统回收。Heap区分为Eden Space、Survivor Space和Tenured Space。
- Non-Heap memory:Java 虚拟机管理堆之外的内存。Non-Heap区分为Code Cache、Permanent Space或Meta Space。
Java堆是垃圾收集器管理的主要区域,又称为Garbage Collection Heap,GC方式包括Full GC和Minor GC。
区 域名 称 |
说明 |
---|---|
Eden Space |
用于最初从线程池分配内存给大部分对象。 |
Survivor Space |
用于保存在Eden区内存池中经过垃圾回收后没有被回收的对象。 |
Tenured Space |
用于保持已经在Survivor区内存池中存在了一段时间的对象。 |
Code Cache |
用于编译和保存本地代码的内存。 |
Permanent Space |
用于保存虚拟机的静态数据,例如,类和方法对象。 |
Meta Space |
用于保存本地化内存中类的元数据。Java 8之后Meta Space替代Permanent Space。 |
Direct Buffer |
监控直接缓冲区的使用情况。 |
Full GC |
当内存回收之后仍无法满足内存空间分配需求时, 对整个堆空间(新生代、老年代和永久代)进行垃圾收集。 |
Minor GC |
当分配对象遇到内存不足时,对新生代空间(Eden区和Survivor区)进行垃圾收集。 |
JVM采用分代垃圾回收。在JVM的内存空间中把堆空间分为老年代和新生代。将大量(90%以上)创建后短期消亡的对象存储在新生代,而老年代中存放生命周期长久的实例对象。新生代空间分为Eden区和两个Survivor区。新对象首先分配在Eden区,Survivor区作为Eden区和Tenured区的缓冲,在Survivor区的对象经历若干次收集仍然存活的,就会被转移到老年区,如图2所示。

新生代共有两个Survivor区,分别用from和to指针指代,其中to指针指向空的Survivor区。
- 应用性能管理功能_应用指标监控_ 应用性能管理 APM-华为云
- 应用性能管理应用场景_应用性能监控_ 应用性能管理 APM-华为云
- 应用性能管理有什么作用_运维_ 应用性能管理 APM-华为云
- 应用性能管理APM_应用性能_功能简介
- AOM实现立体化监控_建设完整指标体系_AOM-华为云
- 免费试用云监控_云监控CES多少钱_服务器云监控价格
- GaussDB内存_云数据库GaussDB内存_高斯数据库内存-华为云
- CES是什么意思_远程云监控系统_监控云平台
- RDS for MySQL变更实例的CPU和内存规格_CPU和内存_CPU过高_MySQL内存
- 应用性能管理定位请求异常原因_云应用性能问题诊断_ 应用性能管理 APM-华为云