extent

更新时间:2022-11-25 10:22:49 阅读: 评论:0


2022年11月25日发(作者:黄生借书说翻译)

sharedpool之一:heap/extent/chunk/x$ksmsp

介绍sharedpool物理结构的heap堆,extent区,chunk

内存中:共享池、大池、PGA是heap管理

chunk

sharedpool物理层面上由许多内存块组成,这些内在块称为chunk,chunk是sharedpool

中内存分配最小单位-类似extent,但是chunk是大小不一的,在内存中一个chunk是连续的。

chunk属于可用类型的时候,既不属于librarycache,也不属于dictionarycache,如果chunk

被用于存放SQL相关的数据时,则该chunk就属于librarycache;如果该chunk被用于存放

数据字典的信息时,则该chunk就是属于dictionary

Chunk可以分为4类-或者叫4种状态:

:chunk中没有有效的对象,可以不受限制的分配

:recreatable,可重用的,chunk里面包含的对象可以被临时性的移走,如果需要,

可以重建,例如共享SQL语句

l:可释放的,ssion用过这个chunk,里面存放的对象数据是ssion在处

理过程中产生的,没有办法重建,这点不同于recr。因此这个chunk不能被临时性的移走。

但是在合适的时间段可以被释放。

:permanent,永久的SGA的固定对象等,chunk中包含永久性的对象,但是大

型的permanent类型的chunk中可能包含可用空间,需要的时候,这些空间可以被释放。

x$ksmsp

x$ksmsp名称含义为:kernalstoragememorymanagementsgaheap

注意:据说在10.1.0.2版本中某些平台上查询此视图会有BUG导致CPU过载

SYS@bys3>descx$ksmsp

Name

------------

ADDR--x$ksmsp视图中一行信息在内存中地址

INDX--

INST_ID--

KSMCHIDX--

KSMCHDUR--

KSMCHCOM--chunk描述

KSMCHPTR--CHUNK地址

KSMCHSIZ--代表chunk大小

KSMCHCLS--chunk类型--freeabl-recr-perm-free

KSMCHTYP--

KSMCHPAR--父对象的地址--可能是x$D0

可以通过查询表x$ksmsp统计出chunk数量,执行几个SQL语句后,CHUNK数量会增

加。因为进行SQL解析,请求空间,导致分配、分割从而产生更多CHUNK。如数据库存

在大量硬解析,不停请求分配free的共享池内存,会引起sharedpoollatch,以及sharedpool

产生更多碎片。内存回收时,chunk数量会减少。

SYS@bys3>lectcount(*)fromx$ksmsp;

COUNT(*)

----------

18224

SYS@bys3>lect*;

SYS@bys3>lect*erestatus=2;

SYS@bys3>lectcount(*)fromx$ksmsp;

COUNT(*)

----------

18251

查看Chunk的4种状态:--R-freea这种R开头的是在RervedArea(保留区)中的chunk

SYS@bys3>lectdistinct(ksmchcls)fromx$ksmsp;

KSMCHCLS

--------

freeabl

recr

perm

R-freea

R-free

R-perm

free

R-recr

查询各种状态chunk的大小,chunk的平均大小

SYS@bys3>lectKSMCHCLS,count(*),round(sum(KSMCHSIZ/1024/1024),0)

MB,round(avg(KSMCHSIZ),0)fromx$ksmspgroupbyKSMCHCLSorderby1;

KSMCHCLSCOUNT(*)MBROUND(AVG(KSMCHSIZ),0)

--------------------------------------------------

R-free436152374

R-freea9803915

R-perm4164111578

R-recr143977200

free19370226

freeabl5815112057

perm27189343653

recr

###共享池中的heap堆和extent区

heap堆由一个或多个大小不一的extent组成,extent由chunk组成

SubPool子池

SubPool:最多7个(4cpu-->1,128M(9i),256M(10g),512M(11g))

sql>altersystemt"_kghdsidx_count"=2scope=spfile;

DUMP共享池查看heap/extent/chunk结构:--用新建会话来做

Sql>alterssiontevents'immediatetracenameheapdumplevel2';

Sql>lectvaluefromv$diag_infowherenamelike'De%';

/u01/diag/rdbms/bys3/bys3/trace/bys3_ora_

查看TRACE文件内容:--找这一段的方法:VI搜索HEAPDUMP

******************************************************

HEAPDUMPheapname="sgaheap"desc=0x200010b4

extentsz=0x7ad4alt=124het=32767rec=9flg=-126opc=0---sz=0x7ad4转换为十进

制大小是:31444

parent=(nil)owner=(nil)nex=(nil)xsz=0x0heap=(nil)

fl2=0x60,nex=(nil)

dsforlatch1:0x20030f24

rervedgranulecount0(granulesize4194304)

******************************************************

HEAPDUMPheapname="sgaheap(1,0)"desc=0x20030f24

---heapname="sgaheap(1,0)"共享池中第1个子池--高级堆的子缓冲区--共享池的

extentsz=0xfc4alt=124het=32767rec=9flg=-126opc=0--sz=0xfc40xfc4转换为十进

制大小是:4036,更大的在保留池

parent=(nil)owner=(nil)nex=(nil)xsz=0x400000heap=(nil)

fl2=0x20,nex=(nil),dsxvers=1,dsxflg=0x0

dsxfirstext=0x2c400000

latcht1of1

durationsdisabledforthisheap

rervedgranulesforroot0(granulesize4194304)

EXTENT0addr=0x23c00000---EXTENT0,向下搜索还有多个EXTENT的,一个

EXTENT有多个Chunk

Chunk23c00038sz=24R-stopper"rervedstoppe"

Chunk23c00050sz=14300R-free""

Chunk23c0382csz=8224R-freeable"KKSSP^38"ds=0x23d8f480

Chunk23c0a8e4sz=169732R-free""

Chunk23c33fe8sz=24R-stopper"rervedstoppe"

Chunk23c34000sz=15776perm"perm"alo=15776

Chunk23c37da0sz=84free""--free状态的CHUNK,23c37da0

内存地址,84字节,可以看到各chunk大小不一

Chunk23c37df4sz=236recreate"KGLHD"latch=(nil)---recreate状

态的CHUNK,latch=(nil)没有latch

Chunk23bfadc8sz=4124freeable"PLMCD^f24c7997"ds=0x24609ea8

Chunk23bfbde4sz=4096recreate"SQLA^9d1660bd"latch=(nil)

ds23f49e9csz=12288ct=3

24177984sz=4096

239fa8bcsz=4096

…………………………

EXTENT30addr=0x2ac00000--EXTENT有很多个。。

Chunk2ac00038sz=24R-stopper"rervedstoppe"

Chunk2ac00050sz=212888R-free""

Chunk2ac33fe8sz=24R-stopper"rervedstoppe"

Chunk2ac34000sz=3971084perm"perm"alo=3971084

Chunk2affd80csz=10096perm"perm"alo=10096

Chunk2affff7csz=28freeable"PRESENTATIONEN"

Chunk2affff98sz=104freeable"LabelCacheHea"

EXTENT31addr=0x2b000000

本文发布于:2022-11-25 10:22:49,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/90/17912.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:leading
下一篇:get along
标签:extent
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图