为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。 【DM版本】:dm8 【操作系统】:麒麟v10 【CPU】: 【问题描述】*:dm数据库内存查询及设置 1、如何查看dm数据库的内存占用上限(即最大内存,不够会崩溃的那种) 2、如何将dm数据库的内存最大占用固定成一个固定值或一个固定范围内;希望能提供具体的设置
可以查看数据库参数文件(dm.ini)或者通过select * from v$dm_ini where para_name = '参数名称';查询内存参数设置; 具体内存参数设置可以参考 https://eco.dameng.com/document/dm/zh-cn/ops/performance-optimization.html#3.1%20INI%20%E5%8F%82%E6%95%B0%E9%85%8D%E7%BD%AE%E8%AF%B4%E6%98%8E
可以通过查询v$mem_pool判断内存池空闲还是紧张: select name, --内存池名称 is_shared, --是否是共享的 is_overflow, --是否用到了备份池 org_size/1024.0/1024.0, --内存池初始大小 TOTAL_size/1024.0/1024.0, --内存池总大小(包括扩展的) RESERVED_SIZE/1024.0/1024.0, --当前已分配大小(包括扩展的) DATA_SIZE/1024.0/1024.0, --实际有效字节 EXTEND_SIZE, --每次扩展多少 TARGET_SIZE, --目标大小 N_EXTEND_NORMAL , --TARGET范围内累计扩展次数 N_EXTEND_EXCLUSIVE --超过TARGET累计扩展次数 from v$mem_pool order by TOTAL_size desc; 注意: 1、N_EXTEND_EXCLUSIVE如果长期大于0,说明长期从池外扩展。 2、如果RESERVED_SIZE比org_size小,说明内存池非常空闲。 3、如果TOTAL_size比TARGET_SIZE大,说明内存池不够,经常向池外申请,需要把对于的参数调大。尽量保持每个池自持。
可以查看数据库参数文件(dm.ini)或者通过select * from v$dm_ini where para_name = '参数名称';查询内存参数设置;
具体内存参数设置可以参考
https://eco.dameng.com/document/dm/zh-cn/ops/performance-optimization.html#3.1%20INI%20%E5%8F%82%E6%95%B0%E9%85%8D%E7%BD%AE%E8%AF%B4%E6%98%8E
可以通过查询v$mem_pool判断内存池空闲还是紧张:
select
name, --内存池名称
is_shared, --是否是共享的
is_overflow, --是否用到了备份池
org_size/1024.0/1024.0, --内存池初始大小
TOTAL_size/1024.0/1024.0, --内存池总大小(包括扩展的)
RESERVED_SIZE/1024.0/1024.0, --当前已分配大小(包括扩展的)
DATA_SIZE/1024.0/1024.0, --实际有效字节
EXTEND_SIZE, --每次扩展多少
TARGET_SIZE, --目标大小
N_EXTEND_NORMAL , --TARGET范围内累计扩展次数
N_EXTEND_EXCLUSIVE --超过TARGET累计扩展次数
from v$mem_pool
order by TOTAL_size desc;
注意:
1、N_EXTEND_EXCLUSIVE如果长期大于0,说明长期从池外扩展。
2、如果RESERVED_SIZE比org_size小,说明内存池非常空闲。
3、如果TOTAL_size比TARGET_SIZE大,说明内存池不够,经常向池外申请,需要把对于的参数调大。尽量保持每个池自持。