SQL2005是如何使用内存的

    SQL2005存储引擎本身是一个Windows下的进程,所以SQL2005使用内存和其它Windows进程一样,都需要向Windows申请内存。从Windows申请到内存之后,SQL2005使用内存粗略可以分为两部分:缓冲池内存(数据页和空闲页),非缓冲内存(线程,DLL,链接服务器等)。而缓冲池内存占据了SQL2005的大部分内存使用。缓冲池所占内存也就是图2最大最小内存所设置的,因此sqlservr.exe所占的内存有可能会大于图2中所设置的最大 内存。

    还有一点是,SQL2005使用内存的特点是:有多少用多少,并且用了以后不释放(除非收到Windows内存压力的通知)。比如我所在公司的开发服务器,在几乎没有负载的时候来看内存使用。

    可以看到CPU在0负载的时候,内存却占据了13个G。这其实是在之前的使用SQL2005向Windows申请的内存一直没有释放所致。

    具体SQL2005能够使用多少内存是由以下几个因素决定的:

    1.物理内存的大小

    2.所安装Windows版本对于内存的限制(比如windows server 2008标准版限制最大内存只能使用32GB)

    3.SQL2005是32位或64位

    4.如图2所示配置SQL2005对于内存的使用量

    5.SQL2005的版本(比如express版只能用1G内存)

转载于:https://my.oschina.net/linuxred/blog/73052

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值