达梦数据库学习札记-内存结构

DM内存结构

数据库管理系统是一种对内存申请和释放操作频率很高的软件,DBMS中需加入自己的内存管理,优点如下:
	1.申请、释放内存效率高;
	2.能够有效地了解内存的使用情况;
	3.易于发现内存泄漏和内存写越界的问题。
	
DM数据库管理系统的内存结构根据模块功能划分,主要包括:
	1.内存池
	2.缓冲区
	3.排序区
	4.哈希区
	5. ……

内存池

DM server的内存池包括共享内存池和其他一些运行时内存池。
	动态视图v$MEN_POOL详细记录了当前系统中,所有内存池的状态,通过该视图可以掌握DM server的内存使用情况。
	
	3.1.1共享内存池
		1.是DM server在启动时从操作系统申请的一大片内存;
		2.避免频繁向操作系统申请、释放内存的操作,提高系统运行效率;
		3.通过配置文件dm.ini可对共享内存池大小进行设置;
			MEMORY_POOL	默认大小为200M
		4.所需内存大于配置大小时,内存池可进行自动扩展
			MEMORY_EXTENT_SIZE	指定共享内存池每次扩展的大小
			MEMORY_TARGET	指定共享内存池能扩展到的最大值
		5.MAX_OS_MEMORY	 可以使用物理内存的百分比

		
	3.1.2运行时内存池
		从操作系统申请给特定模块单独使用的内存池,例如会话内存池和虚拟机内存池。

缓冲区

	包含:
		1.数据缓冲区
		2.日志缓冲区
		3.字典缓冲区
		4.SQL缓冲区

数据缓冲区

		1.是DM server在将数据写入磁盘之前以及从磁盘读入数据页之后,数据页(空闲、干净、脏、正在使用)所存储的地方;
		2.是DM server至关重要的内存区域之一;
		3.设置过小,缓冲液命中率低,磁盘IO频繁;
		4.设置过大,容易导致操作系统内存本身不够用;
		5.启动过程
			系统启动->按配置向操作系统申请连续内存->按数据页大小格式化->置入"自由"链。
		6.由三条链来管理数据页
			自由链:存放尚未使用的内存数据页;
			LRU链:存放已经被使用的内存数据页(未修改和已修改);
			脏链:村昂已经被修改过的内存数据页。
		7<
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值