为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:
【操作系统】:
【CPU】:
【问题描述】*:我想监控达梦数据库的总内存使用率和系统内存使用率,有没一两个SQL就搞定的啊,目的想监控系统内存和数据库内存使用率
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;
在linux系统上可以用top等命令查看内存情况;使用SQL监控的话,可以参考如下,
PHY_MEM_FREE_PCT
物理内存空闲比例%,PHY_MEM_FREE_GB
空闲物理内存GB,DB_MEM_USED_PCT
数据库占用内存%SELECT 100*ROUND(1.0*FREE_PHY_SIZE/TOTAL_PHY_SIZE,4) PHY_MEM_FREE_PCT, ROUND(FREE_PHY_SIZE/1024.0/1024.0/1024.0,1) PHY_MEM_FREE_GB, 100*ROUND(1.0*((SELECT SUM(CAST(N_PAGES AS BIGINT) * PAGE_SIZE) FROM V$BUFFERPOOL)+(SELECT SUM(CAST(TOTAL_SIZE AS BIGINT)) FROM V$MEM_POOL))/TOTAL_PHY_SIZE,4) DB_MEM_USED_PCT FROM V$SYSTEMINFO
V$SYSTEMINFO
视图更多详细可参考管理员手册附录2