PRE_PAGE_SGA 的玩法
来源:互联网 发布:淘宝店申请照片样本 编辑:程序博客网 时间:2024/04/28 11:32
看了看官方文档,了解到一个以前没有注意到的细节(还是得看文档啊........),在Oracle实例启动时,只会在物理内存中首先加载SGA的个内存区的最小的大小(以Granule粒度计算)。而剩余的SGA内存只作为虚拟内存(Page File)分配,只有当进程touch到相应的page时,才会置换到物理内存中。出于最优性能的考虑我们可能需要在实例启动的时,将所有SGA都分配到物理内存中去。这时就可以通过设置PRE_PAGE_SGA参数来达到这个目的了。这就是这个参数存在的意义所在。
这个参数的默认值为FALSE,即不将全部SGA置入物理内存中。当设置为TRUE时,实例启动会将全部SGA置入物理内存中。它可以使实例启动达到它的最大性能状态,但是,启动时间也会更长(将所有的SGA都放到物理内存中去会,Oracle需要touch所有内存页)。
当参数设置为TRUE时,不仅在实例启动时,需要touch所有的SGA页,并且由于每个oracle进程都会访问SGA区,所以每当一个新进程启动时(在Dedicated Server方式中,每个会话都会启动一个Oracle进程),都会touch一遍该进程需要访问的所有页(这个页面数量,由操作系统的单位页面大小和SGA的大小来决定)。因此,每个进程的启动时间页增长了。所以,这个参数的设置也需要根据系统的应用情况来设定。而操作系统的页面的大小是由操作系统自身来指定的。
在pre_page_sga设置为false的情况下,windows的内存使用状况:
在pre_page_sga设置为true的情况下,windows的内存使用状况:
但是,要记住一点:PRE_PAGA_SGA只是在启动时将物理内存分配给SGA,但并不能保证系统在以后的运行过程不会将SGA中的某些页置换到虚拟内存中,也就是说,尽管设置了这个参数,还是可能出现Page In/Out。如果需要保障SGA不被换出,就需要由另外一个参数LOCK_SGA来控制了。这个参数默认值为FALSE,当指定为TRUE时,可以将全部SGA都锁定在物理内存中。当然,有些系统不支持内存锁定,这个参数也就无效了。
from:http://space.itpub.net/12361284/viewspace-133419
- PRE_PAGE_SGA 的玩法
- PRE_PAGE_SGA 的玩法[转]
- 一次增加内存引发的血案 (由pre_page_sga引发的)
- 一次增加内存引发的血案 (由pre_page_sga引发的)
- 杀人游戏的玩法
- JavaScript的另类玩法
- pcie dma的玩法
- 掌控时间的玩法!!!
- 文件锁的玩法
- session 登陆的玩法
- 政治的玩法
- Dplus的玩法
- git的简单玩法
- 国际象棋的玩法
- 国际象棋的玩法
- Salesforce 的Cache玩法
- 掼蛋的玩法
- 斗鱼大数据的玩法
- pre_page_sga参数总结
- ZOJ - 3471 Most Powerful
- 一个新的开始
- NSArray NSDictionary
- Windows SDK Registry: How can I access the registry?
- PRE_PAGE_SGA 的玩法
- asp.net 前台跟后台之前执行的流程
- 一百年后,人类怎样编程?
- centos5.5定制安装的心得体会
- HP-UNIX lanadmin命令查看网卡信息
- 如何学好C++语言
- sql server2000安装中出现的问题及解决方法
- 人生中重要的经历5
- (gdb) ptype regex_ttype = struct re_pattern_buffer { unsigned char *buffer; long unsigned int allocated; long u