为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:达梦8
【操作系统】:中标麒麟 内存32G
【CPU】:鲲鹏
【问题描述】*:
项目上线使用一段时间后数据库挂了(3、4个小时)
日志:database P0000004134 T0000000000000017483 mem_malloc_ex2(33554504) out of memory!, fail to allocate memory from OS
数据库配置:MAX_OS_MEMORY = 70
MEMORY_POOL = 2000
测试环境:windows10 内存16g cup:intel 跑了10几天都没事
从日志看此问题是由于数据库进程无法从操作系统申请到内存导致的,可以人工或部署nmon监控一下项目运行过程中dmserver进程的内存使用情况(应同时关注VIRT和RES指标),或通过一下sql关注一下内存池的使用情况
select
count(*) ,
sum(total_size) ,
sum(data_size) ,
avg(data_size) ,
avg(target_size),
name
from
v$mem_pool
group by
name
order by
2 desc