Oracle的内存是以heap的形式进行管理,这包括常见的SGA和PGA。
- 物理形式上,一个内存heap包括header或者header descriptor以及一些extents 。
- 逻辑形式上,一个heap可能包含多个subheap。subheap中的extents来源于它的父heap;heap和subheap通过free lists和LRU lists来管理空闲以及使用的空间。
PS. 什么是subheap,举个例子,Shared pool的subpool是Shared Pool这个heap的subheap。
Heap是逻辑上的结构,其包含:
- Descriptor(DS)
- 连续的内存片,也就是extents
一个Heap Descriptor又包含:
- 指向父heap的指针
- 指向已经分配的extents list
- 指向permanent类型的chunks list
每个Extents又包含
- 其父heap的Descriptor
- 指向下一个extent的Pointer
- 每个extent又被逻辑的细分为多个chunks
关系如下图

每个chunk所包含的
- Control bits
- Magic bits
- Chunk size
- 指向前一个chunk的Pointer(同一个Extent中)
- 每个chunk的内存地址加上length,就是下一个chunk的内存地址。
对于诊断来说,这里除了chunk size对4031方向的问题有点作用外,其他可忽略,主要是针对内存讹误问题时研发分析的依据。

chunk的管理组织上:
- 以size区间形式划分为多个bucket的形式
- free list上包含free chunk的地址和大小
- LRU list上包含之前使用的chunk的地址和大小
chunk的类型上:
- Free
- Freeable
- Recreateable
- Permanent
前缀带R的就是保留池中的。对于4031来说,申请的是Free,没有继续看是否能从LRU list上Recreateable unpined中获得空间(这部分也是可以被主动flush的),另外当freeable不被使用后(freeable代表当前正在被用),也可以释放。这类可重用的在heapdump中都有个明显的U的后缀,代表unpined。
编辑推荐:
- 关于Heap中的一些概念03-03
- 如何提高抖音直播间人气03-03
- oracle rac 打PSU补丁30805461两个问题(Java版本及空间不足导致失败)03-03
- unlimited tablespace权限的授予和回收03-03
- obj$等数据字典表的统计信息采集机制一些整理03-03
- GoldenGate 12c 在原有同步进程中新增同步表的操作步骤03-03
- 显示日期格式03-03
- Oracle 11GR2 DG部署03-03
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 关于Heap中的一些概念
关于Heap中的一些概念
26-03-03 - 如何提高抖音直播间人气
如何提高抖音直播间人气
26-03-03 - oracle rac 打PSU补丁30805461两个问题(Java版本及空间不足导致失败)
- unlimited tablespace权限的授予和回收
unlimited tablespace权限的授予和回收
26-03-03 - obj$等数据字典表的统计信息采集机制一些整理
obj$等数据字典表的统计信息采集机制一些整理
26-03-03 - ORA-0155 表空间的添加、修改、删除
ORA-0155 表空间的添加、修改、删除
26-03-03 - Oracle EMCC 12c emcli命令行工具安装以及使用介绍
Oracle EMCC 12c emcli命令行工具安装以及使用介绍
26-03-03 - 三星显示 MWC 进行高尔夫推杆、篮球投篮测试,展示可折叠 OLED 耐用性
- 云原生冷知识大挑战,答对一半算你赢!
云原生冷知识大挑战,答对一半算你赢!
26-03-03 - 19c 增加mgmt
19c 增加mgmt
26-03-03
