为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > SQL SERVER 释放内存

SQL SERVER 释放内存

2018-02-20 6页 doc 142KB 31阅读

用户头像

is_321575

暂无简介

举报
SQL SERVER 释放内存SQL SERVER 释放内存 如何解决SQLServer占内存过多的问题 首先,我们来看看MSSQL是怎样使用内存的。 最大的开销一般是用于数据缓存,如果内存足够,它会把用过的数据和觉得你会用到的数据统统扔到内存中,直到内存不足的时候,才把命中率低的数据给清掉。 其次就是查询的开销,一般地说,hash join是会带来比较大的内存开销的,而merge join和nested loop的开销比较小,还有排序和中间表、游标也是会有比较大的开销的。 所以用于关联和排序的列上一般需要有索引。 再其次就是对执行计划、系统数据...
SQL SERVER 释放内存
SQL SERVER 释放内存 如何解决SQLServer占内存过多的问题 首先,我们来看看MSSQL是怎样使用内存的。 最大的开销一般是用于数据缓存,如果内存足够,它会把用过的数据和觉得你会用到的数据统统扔到内存中,直到内存不足的时候,才把命中率低的数据给清掉。 其次就是查询的开销,一般地说,hash join是会带来比较大的内存开销的,而merge join和nested loop的开销比较小,还有排序和中间表、游标也是会有比较大的开销的。 所以用于关联和排序的列上一般需要有索引。 再其次就是对执行、系统数据的存储,这些都是比较小的 SQL Server服务器在使用一段时间后,内存占用会一直升高,直到占用所有系统内存,从而造成服务器响应迟缓。 这是由SQL Server内部缓存机制决定:对于刚查询到内存中的的数据,从概率的角度讲,刚查询的数据,很可能再次被查询,所以为了提高效率,SQL Server不会立刻从内存中释放。当所有的内存都被占满,但是又需要分配内存的时候,SQL Server会依据一个时钟算法,将现有内存中最不被使用的数据清出内存。 具体可以参考微软的系列讲座:SQLServer性能调优与维护 该讲座的视频文件,有兴趣的话,可以到\\172.16.2.204\work\30369\sqlserver 下载。 对于此问题可以通过以下两种方法来解决: 1、在企业管理器中设置SQL Server服务器的内存分配最大值(最大值视具体情 况而定),预留一定的内存给操作系统使用。 2、利用操作系统任务计划,周期性自动调用Empty.exe工具,释放SQL Server 服务器所占用的内存。 Emtpy.exe是微软提供的一个资源清理工具,见附件。 注意:这里运行,路径要跟上具体的进程,比如QQ,那么就是D:\Utility\empty\QQ.EXE 2、利用操作系统任务计划,周期性自动调用Empty.exe工具,释放SQL Server服务器所占用的内存。 Emtpy.exe是微软提供的一个资源清理工具,见附件。 微软的Empty.exe可以用来释放某些应用程序在占用大量内存时不能及时释放的那部分资源,与那些第三方软件内存管理软件不同的是,Empty.exe不会强迫系统全部释放资源,而是仅仅释放必要的资源,这样就不会加重硬盘的负担了。 Empty.exe的使用相当简单,命令格式如下: Empty.exe {pid(进程ID) | task-name(映象名称)} 需要说明的是,Empty.exe在Win2003和XP中使用,Win2000中就无缘使用了。
/
本文档为【SQL SERVER 释放内存】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索