一、问题
1.1、SQL Server内存占用高 ,内存不释放
1.2、SQL Server 内存利用策略
SQL Server对服务器内存的利用策略是有多少占多少(大约到剩余内存为4M左右)只用在服务器内存不敷时,
才会释放一点占用的内存,所以很多时候,我们会发现运行SQL Server的系统内存每每居高不下这些内存一样平常都
是SQL Server运行时候用作缓存的。
数据缓存:
例如:你运行一个select语句,那么SQL Server会将相关的数据页(SQL Server操作的数据都是以页为单位的,在
SQL Server中页的巨细始终是8kb的巨细,页有不同的范例:数据页,索引页,系统页等等)加载到内存中举行
缓存,以便于再次请求此页的数据的时候,直接从内存返回,就无需读取磁盘了,大大提高了速度。
执行命令缓存:
如执行存储过程,自定函数时,SQL Server 需要先二进制编译再运行,编译后的效果也会缓存起来,再次调用时就无需再次编译。
二、解决办法
当我们知道SQL Server 内存占用方式,就有以下两种解决办法
- -- 查看内存使用情况,这个会返回多个结果集数据,可以有助于我们排查内存问题
- DBCC MemoryStatus
复制代码 效果集部门紧张指标表明(请留意,DBCC MEMORYSTATUS的输特殊式和内容可能会随着SQL Server版本的不同而有所变化)&#
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |