x$ KSMSP视图(引用)
来源:互联网 发布:搭建数据库服务器 编辑:程序博客网 时间:2024/06/03 17:30
原文转自:http://www.eygle.com/archives/2005/01/oracleaexiieaee_1.html
引用地址:http://blog.csdn.net/changyanmanman/article/details/7482763 http://blog.csdn.net/changyanmanman/article/details/7611758
1、X$KSMSP的名称含义
[K]ernal [S]torage [M]emory Management [S]GA Hea[P]
其中每一行都代表着shared pool中的一个chunk
我们看一下x$ksmsp的结构:
SQL> desc x$ksmsp Name Null? Type --------- -------- ---------------- ADDR RAW(4) INDX NUMBER INST_ID NUMBER KSMCHIDX NUMBER KSMCHDUR NUMBER KSMCHCOM VARCHAR2(16) KSMCHPTR RAW(4) KSMCHSIZ NUMBER KSMCHCLS VARCHAR2(8) KSMCHTYP NUMBER KSMCHPAR RAW(4)
我们关注以下几个字段:
KSMCHCOM 是注释字段,每个内存块被分配以后,注释会添加在该字段中.
x$ksmsp.ksmchsiz代表块大小
x$ksmsp.ksmchcls列代表类型,主要有四类,说明如下:
free
Free chunks--不包含任何对象的chunk,可以不受限制的被分配.
recr
Recreatable chunks--包含可以被临时移出内存的对象,在需要的时候,这个对象可以
被重新创建.例如,许多存储共享sql代码的内存都是可以重建的.
freeabl
Freeable chunks--包含session周期或调用的对象,随后可以被释放.这部分内存有时候
可以全部或部分提前释放.但是注意,由于某些对象是中间过程产生的,这些对象不能
临时被移出内存(因为不可重建).
perm
Permanent memory chunks--包含永久对象.通常不能独立释放.
我们可以通过查询x$ksmsp视图来考察shared pool中存在的内存片的数量
不过注意:Oracle的某些版本(如:10.1.0.2)在某些平台上(如:HP-UX PA-RISC 64-bit)查
询该视图可能导致过度的CPU耗用,这是由于bug引起的.
在以前的一篇文章中,我介绍过x$ksmsp的一些知识。(http://www.eygle.com/archives/2007/09/shared_pool_reserved_ksmspr.html)
在x$ksmsp.ksmchcls的分类中,还有两外几个分类,这几个分类是R-free/R-freea/R-perm:
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit Production
With the Partitioning option
JServer Release 9.2.0.4.0 - Production
SQL> select count(*) from x$ksmsp;
COUNT(*)
----------
37138
可以知道shared pool里面有chuck数量是:37138
各个版本都不一样,我在10g r1中查询结果如下:
SQL> select KSMCHCLS,sum(KSMCHSIZ) from x$ksmsp group by ksmchcls;KSMCHCLS SUM(KSMCHSIZ)-------- -------------R-free 24836016R-freea 1946032R-perm 1904160free 32459264freeabl 294999744perm 70090848recr 1441871047 rows selected.
SQL> select KSMCHCLS,sum(KSMCHSIZ) FROM x$ksmsp group by ksmchcls;
KSMCHCLS SUM(KSMCHSIZ)-------- -------------R-free 4258000R-freea 960free 11377688freeabl 24806588perm 32652096recr 10789868已选择6行。
没有R-perm 类型的。
在10g r2中的结果如下:
SQL> select KSMCHCLS,sum(KSMCHSIZ) FROM x$ksmsp group by ksmchcls;
KSMCHCLS SUM(KSMCHSIZ)-------- -------------freeabl 8269108recr 13469740R-freea 36688perm 43004308no acce 4128848R-free 3370288free 3217484
7 rows selected.
这里的R指的是reserved,也就是说这些Heap的信息是和shared_pool_reserved_size相关的。
至于free/freeable/perm就无需解释了。
2、V$SHARED_POOL_RESERVED
shared_pool_reserved_size的另外一个视图展现是V$SHARED_POOL_RESERVED.
我们可以从这个视图中获得关于shared pool reserverd的信息:
SQL> desc v$shared_pool_reserved
名称 是否为空? 类型 ---------------------- -------- -------------- FREE_SPACE NUMBER AVG_FREE_SIZE NUMBER FREE_COUNT NUMBER MAX_FREE_SIZE NUMBER USED_SPACE NUMBER AVG_USED_SIZE NUMBER USED_COUNT NUMBER MAX_USED_SIZE NUMBER REQUESTS NUMBER REQUEST_MISSES NUMBER LAST_MISS_SIZE NUMBER MAX_MISS_SIZE NUMBER REQUEST_FAILURES NUMBER LAST_FAILURE_SIZE NUMBER ABORTED_REQUEST_THRESHOLD NUMBER ABORTED_REQUESTS NUMBER LAST_ABORTED_SIZE NUMBER
查询总共有几条记录:
SQL> select count(*) from v$shared_pool_reserved ;
COUNT(*)
----------
1
SQL> select *from v$shared_pool_reserved;
FREE_SPACE AVG_FREE_SIZE FREE_COUNT MAX_FREE_SIZE USED_SPACE AVG_USED_SIZE USED_COUNT MAX_USED_SIZE REQUEST ---------- ------------- ---------- ------------- ---------- ------------- ---------- ------------- ------------ 4258000 212900 20 212900 0 0 0 0 0 REQUEST_MISSES LAST_MISS_SIZE MAX_MISS_SIZE REQUEST_FAILURES LAST_FAILURE_SIZE ABORTED_REQUEST_THRESHOLD -------------- -------------- ------------- --------------- ----------------- ---------------------------------------- 0 0 0 0 0 4.2950E+10 ABORTED_REQUEST LAST_ABORTED_SIZE---------------- ------------------------- 0 0
关于这些信息的另外一个来源是X$KSMSPR内部表:
SQL> select ksmchcom,ksmchcls,sum(ksmchsiz) from x$ksmspr group by ksmchcom,ksmchcls;KSMCHCOM KSMCHCLS SUM(KSMCHSIZ)---------------- -------- -------------ksfqpar R-freea 328616free memory R-free 25216256PL/SQL MPCODE R-freea 81128PL/SQL SOURCE R-freea 4640obj htab chunk R-freea 82176character set o R-freea 61592permanent memor R-perm 1904160reserved stoppe R-freea 2720session param v R-freea 10049209 rows selected.
这部分信息和x$ksmsp视图记录的Reserved信息是完全一致的:
SQL> select KSMCHCOM,KSMCHCLS,sum(KSMCHSIZ) from x$ksmsp where KSMCHCLS like 'R%' group by ksmchcom,ksmchcls;KSMCHCOM KSMCHCLS SUM(KSMCHSIZ)---------------- -------- -------------ksfqpar R-freea 328616free memory R-free 24591576PL/SQL MPCODE R-freea 81128PL/SQL SOURCE R-freea 4640obj htab chunk R-freea 82176character set o R-freea 61592permanent memor R-perm 1904160reserved stoppe R-freea 2720session param v R-freea 16296009 rows selected.
-The End-
- x$ KSMSP视图(引用)
- x$ KSMSP视图(引用)
- 了解X$KSMSP视图
- 共享池---X$KSMSP视图
- X$KSMSP
- 关于 x$ksmsp 视图中KSMCHDUR 字段代表什么意思
- X$KSMSP
- x$kghlu、x$ksmss、x$ksmsp关于共享池
- shared pool之一:heap /extent /chunk/x$ksmsp
- 使用X$KSMSP表详细观察共享池
- x$表(引用)
- Cocos2d-x源代码剖析(引用库)
- Cocos2d-x源代码剖析(引用库)
- X$ 视图介绍
- x$视图介绍
- iOS 新特性分列式 之 iOS 5.x - 主要内容:自动引用计数、故事板、控件自定义呈现、容器视图控制器
- InstallShield X制作安装程序杂记(1.视图概貌)
- cocos2d-x引用机制
- qt 移植(转载)
- 虚拟机建立Linux下的FTP服务器
- perl程序中shift的用法
- 数组大折腾
- Javascript的真值和相等
- x$ KSMSP视图(引用)
- 微软Office 365和Windows Azure将在华提供服务
- socket 编程(java示例)
- linux 搭建FTP服务器详细配置
- Spring-RowMapper
- 解决RemoteMediaPool并发的问题
- DebianLNMP一键安装包Debian6系统下的Nginx/PHP5.3/MySQL最快.最新.最省资源!
- 申请苹果开发者帐号流程
- Android 判断手机是否已经ROOT