[20191211]Free SGA Memory Available.txt
--//自己从来没有使用AMM方式管理数据库,今天调优数据库发现自己不注意的一个细节.
1.环境:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx> @ ver1
PORT_STRING VERSION BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx 11.2.0.4.0 Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx> select * from v$sgainfo;
NAME BYTES RES
---------------------------------------- ------------ ---
Fixed SGA Size 2270192 No
Redo Buffers 46850048 No
Buffer Cache Size 16508780544 Yes
Shared Pool Size 2885681152 Yes
Large Pool Size 402653184 Yes
Java Pool Size 402653184 Yes
Streams Pool Size 0 Yes
Shared IO Pool Size 0 Yes
Granule Size 67108864 No
Maximum SGA Size 33939099648 No
Startup overhead in Shared Pool 1288055296 No
Free SGA Memory Available 13690208256
12 rows selected.
--//我开始以为出了什么问题.Free SGA Memory Available=13690208256.
--//仔细想想AMM管理方式引起看到的现象.做1个记录.
2.其它参数定义如下:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx> show parameter memory
NAME TYPE VALUE
------------------------ ----------- -------
hi_shared_memory_address integer 0
memory_max_target big integer 32512M
memory_target big integer 32512M
shared_memory_address integer 0
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx> show parameter pga
NAME TYPE VALUE
-------------------- ----------- -----
pga_aggregate_target big integer 0
--//你也可以定义pga_aggregate_target值,这样就是定义最小值.
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx> @ hide __pga_aggregate_target
NAME DESCRIPTION DEFAULT_VALUE SESSION_VALUE SYSTEM_VALUE ISSES ISSYS_MOD
---------------------- --------------------------------------------------------- ------------- ------------- ------------ ----- ---------
__pga_aggregate_target Current target size for the aggregate PGA memory consumed TRUE 13690208256 13690208256 FALSE IMMEDIATE
--//__pga_aggregate_target大小等于Free SGA Memory Available.
# du -mc /dev/shm/*bills1* | tail -1
18091 total
*/
--//可以发现实例仅仅占18091M.与前面看到的还是符合的.现在感觉AMM方式并不是很好,实际上AMM完全限制整个应用使用的内存大小.
--//如果PGA需求很大,自然会挤压其它组件内存的使用.反而很难达到一个很好的管理控制.
--//而且最重要一点无法使用hugepages,实际上目前的情况是PGA无法定义成hugepages,估计oracle也不会实现这样的功能.
--//而且上线后转换有时候留给运维的时间窗口很小,而且有1个坑,就是必须清除memory_max_target,memory_target.而不是设置成0.
--//这样反而起不来.链接:http://blog.itpub.net/267265/viewspace-2151023/=>[20180211]11g关闭AMM.txt.
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/267265/viewspace-2667935/ ,如需转载,请注明出处,否则将追究法律责任。