计算SGA各池的内存地址的边界

简介: 有时我们想知道数据在SGA中的哪个池中,可以用下面的方法计算出各池的内存地址边界。

1、LOG BUFFER池内存地址边界
0x00000060222000 > LOG BUFFER池内存 <0x0000006682B000(0x00000060222000+6609000)

如下计算:
sys@DTRACE> oradebug setmypid
Statement processed.
sys@DTRACE> oradebug ipc
Information written to trace file.
sys@DTRACE> col value for a80
sys@DTRACE> select value from v$diag_info where name='Default Trace File';

VALUE

/export/home/oracle/diag/rdbms/dtrace/dtrace/trace/dtrace_ora_4103.trc
Area #2 `Redo Buffers' containing Subareas 1-1
Total size 0000000006609000 Minimum Subarea size 00000000
Area Subarea Shmid Stable Addr Actual Addr

  2        1   196612 0x00000060222000 0x00000060222000
                          Subarea size     Segment size
                      0000000006609000 0000000006c00000

2、BUFFER CACHE池内存地址的边界
0x0000000078A22000 > BUFFER CACHE池内存地址 < 0x000000007FBD6000

如下计算:
sys@DTRACE> select min(ba),max(ba) from x$bh;
MIN(BA) MAX(BA)


0000000078A22000 000000007FBD6000

3、SHARED POOL池内存地址边界
0x93800000> SHARED POOL池内存地址 <0x9bc00000 (0x9b800000+400000)

如下计算:
gyj@DTRACE> alter session set events 'immediate trace name heapdump level 2';
Session altered.

gyj@DTRACE> col value for a80
gyj@DTRACE> select value from v$diag_info where name='Default Trace File';

VALUE

/export/home/oracle/diag/rdbms/dtrace/dtrace/trace/dtrace_ora_4046.trc

more /export/home/oracle/diag/rdbms/dtrace/dtrace/trace/dtrace_ora_4046.trc


HEAP DUMP heap name="sga heap(1,0)" desc=0x600551a0
extent sz=0xfe0 alt=248 het=32767 rec=9 flg=-126 opc=0
parent=(nil) owner=(nil) nex=(nil) xsz=0x400000 heap=(nil)
fl2=0x20, nex=(nil), dsxvers=1, dsxflg=0x0
dsx first ext=0x9a800000
latch set 1 of 7
durations disabled for this heap
reserved granules for root 57 (granule size 4194304)
EXTENT 0 addr=0x93800000
.............................
EXTENT 5 addr=0x9b800000
Chunk 09b800058 sz= 80 perm "perm " alo=80
Chunk 09b8000a8 sz= 48 R-freeable "reserved stoppe"
Chunk 09b8000d8 sz= 212728 R-free " "
Chunk 09b833fd0 sz= 48 R-freeable "reserved stoppe"
Chunk 09b834000 sz= 2763512 perm "perm " alo=2763512
Chunk 09bad6af8 sz= 1209408 perm "perm " alo=1209408
Chunk 09bbfdf38 sz= 64 freeable "KGI Session Sta"
Chunk 09bbfdf78 sz= 40 freeable "listener addres"
Chunk 09bbfdfa0 sz= 128 freeable "dbgefgHtAddSK-1"
Chunk 09bbfe020 sz= 136 freeable "dbgefgHtAddSK-1"
Chunk 09bbfe0a8 sz= 40 freeable "plwppwp:PLW_STR"
Chunk 09bbfe0d0 sz= 160 freeable "joxs heap "
Chunk 09bbfe170 sz= 32 freeable "PRESENTATION EN"
Chunk 09bbfe190 sz= 2072 freeable "PRESENTATION TA"
Chunk 09bbfe9a8 sz= 1168 freeable "character set m"
Chunk 09bbfee38 sz= 4552 freeable "character set m"
Total heap size = 25165296

看转储的DUMP日志一个区的大小是: xsz=0x400000

相关文章
|
4月前
|
存储 安全 数据库
阿里云服务器计算型、通用型、内存型主要实例规格性能特点和适用场景汇总
阿里云服务器ECS计算型、通用型、内存型规格族属于独享型云服务器,在高负载不会出现计算资源争夺现象,因为每一个vCPU都对应一个Intel ® Xeon ®处理器核心的超线程,具有性能稳定且资源独享的特点。本文为大家整理汇总了阿里云服务器ECS计算型、通用型、内存型主要实例规格族具体实例规格有哪些,各个实例规格的性能特点和主要适用场景。
阿里云服务器计算型、通用型、内存型主要实例规格性能特点和适用场景汇总
|
5月前
|
弹性计算 安全 前端开发
阿里云服务器ECS通用型、计算型和内存型详细介绍和性能参数表
阿里云ECS实例有计算型(c)、通用型(g)和内存型(r)三种,主要区别在于CPU和内存比例。计算型CPU内存比1:2,如2核4G;通用型为1:4,如2核8G;内存型为1:8,如2核16G。随着技术迭代,有第五代至第八代产品,如c7、g5、r8a等。每代实例在CPU型号和主频上相同,但性能有所提升。实例性能参数包括网络带宽、收发包能力、连接数等。具体应用场景如计算型适合高网络包收发、通用型适合企业级应用,内存型适合内存数据库等。详细信息可参阅阿里云ECS页面。
333 0
|
1月前
|
C++
析构造函数就是为了释放内存,就是在局部指针消失前释放内存,拷贝构造函数就是以构造函数为模块,在堆里面新开一块,同一个变量在堆里面的地址
本文讨论了C++中构造函数和析构函数的作用,特别是它们在管理动态内存分配和释放中的重要性,以及如何正确地实现拷贝构造函数以避免内存泄漏。
37 2
|
1月前
|
存储 安全 NoSQL
driftingblues9 - 溢出ASLR(内存地址随机化机制)
driftingblues9 - 溢出ASLR(内存地址随机化机制)
35 1
|
4月前
|
存储 缓存 安全
阿里云服务器实例规格选择参考:经济型、通用算力型、计算型、通用型、内存型区别
当我们在通过阿里云的各种活动选择云服务器实例规格的时候会发现,相同配置的云服务器往往有多个不同的实例可选,而且价格差别也比较大,这会是因为不同实例规格的由于采用的处理器不同,底层架构也有所不同(例如X86 计算架构与Arm 计算架构),因此不同实例的云服务器其性能与适用场景是有所不同。目前阿里云的活动中,主要的实例规格可分为经济型、通用算力型、计算型、通用型、内存型,对于很多初次接触阿里云服务器的用户来说,了解他们之间的差别就是比较重要的了,下面小编来为大家简单介绍下它们之间的区别。
阿里云服务器实例规格选择参考:经济型、通用算力型、计算型、通用型、内存型区别
|
5月前
|
弹性计算 安全 前端开发
云服务器ECS通用型、计算型和内存型区别以及详细介绍
阿里云ECS实例有计算型(c)、通用型(g)和内存型(r)系列,区别在于CPU内存比。计算型1:2,如2核4G;通用型1:4,如2核8G;内存型1:8,如2核16G。实例有第五代至第八代,如c7、g5、r8a等,新一代通常使用更先进的处理器。性能参数如CPU主频、IOPS和网络带宽随实例规格变化。实例适合场景包括高网络包收发、数据库、计算密集型任务等。
|
6月前
|
存储 安全 数据库
阿里云服务器计算型、通用型、内存型主要实例规格特点、适用场景及最新价格参考
在阿里云服务器的实例规格中,有共享型也有企业型,一般用户选择较多的企业级实例规格有计算型、通用型、内存型,每一种实例规格又有多个实例规格族可选,不同的云服务器实例规格在架构、计算、存储、网络、安全等方面有着不同,因此,其适用场景也有所不同。本文来详细介绍一下阿里云服务器计算型、通用型、内存型主要实例计算、存储等性能及其适用场景,以供参考。
阿里云服务器计算型、通用型、内存型主要实例规格特点、适用场景及最新价格参考
|
6月前
|
存储 编解码 安全
阿里云服务器计算型、通用型、内存型主要实例性能及选择参考
在阿里云的活动中,属于计算型实例规格的云服务器主要有计算型c7、计算型c7a、计算型c8a、计算型c8y、计算型c8i这几个实例规格,属于通用型实例规格的云服务器有通用型g7、通用型g7a、通用型g8a、通用型g8y、通用型g8i,属于内存型实例规格的云服务器有内存型r7、内存型r8a、内存型r8y、内存型r8i等实例。不同实例规格的云服务器在架构、计算、存储、网络、安全等方面有着不同,因此,其适用场景也有所不同。本文来详细介绍一下阿里云服务器计算型、通用型、内存型主要实例计算、存储等性能及其适用场景,以供参考。
阿里云服务器计算型、通用型、内存型主要实例性能及选择参考
|
4月前
|
编译器
8086 汇编笔记(六):更灵活的定位内存地址的方法
8086 汇编笔记(六):更灵活的定位内存地址的方法
|
5月前
|
C++ 存储 Java
C++ 引用和指针:内存地址、创建方法及应用解析
'markdown'C++ 中的引用是现有变量的别名,用 `&` 创建。例如:`string &meal = food;`。指针通过 `&` 获取变量内存地址,用 `*` 创建。指针变量存储地址,如 `string *ptr = &food;`。引用不可为空且不可变,指针可为空且可变,适用于动态内存和复杂数据结构。两者在函数参数传递和效率提升方面各有优势。 ```