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小时内删除。
留言与评论(共有 0 条评论) |