zoukankan      html  css  js  c++  java
  • (转载)怎样解决SQL Server内存不断增加问题

    在启用sqlserver服务后,发现进程sqlservr.exe的内存使用量从开始的100多MB持续增加,很快就高达1G以上,造成机器运行缓慢、卡机,严重影响使用。sql server 在查询大数据量的数据时,总会占用大量的内存,并且居高不下,一不小心就会死机。

    下面这个是我从网上找到的:
    当你查询数据的数据量比较大时,sqlserver会把查询结果缓存在内存中,保证你下次查询同样的记录时会很快得到结果,所以内存使用量会激增。在你完成此次查询后,sqlserver不会马上释放内存,数据会仍然放在内存中,这是sqlserver的优化策略,sqlserver会不断地占用你的系统内存,来加快sqlserver的运行速度,当你的系统中的其它服务也需要内存时,它才会自动释放部分内存。一句话,sqlserver不会让你的系统有闲置的内存,除非你设置sqlserver的最大内存使用量。这样也没什么不好,如果你的系统很大,单独给sqlserver一台机器,这样会提高它的性能。如果你只是开发用,要想让sqlserver释放内存,重启sqlserver的服务就行了。如果不想让sqlserver占用太多内存,设置sqlserver的最大内存占用量。 我设置了最大内存后,确实是得到了效果,但是sql server总是处在最大内存状态。

    打开SQL Server Management Studio、右键服务器名(例如SQL Server 10.0.5500 - sa)、选择属性,出现如下图的属性对话框,选择内存项,将最大服务器内存改成自己设定的值,这里改成200兆,确定后再去看看sqlservr.exe的内存使用量,哗哗地往下掉,爽!!


    ---------------------
    作者:libaineu2004
    来源:CSDN
    原文:https://blog.csdn.net/libaineu2004/article/details/22718033
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    (转).NET 多线程编程
    [WAP]WML学习笔记总结
    [计划]2010年1月的工作学习计划
    [计划]11月&12月学习与工作计划
    [HTTP]HTTP协议学习总结第一弹:RFC2616初读总结
    [培训总结]海量服务培训总结
    [随想]忙碌的2010
    Android电源管理
    Android 1.5: 飞行模式分析
    android JNI 调用
  • 原文地址:https://www.cnblogs.com/y114113/p/10616187.html
Copyright © 2011-2022 走看看