none
SQL2005内存使用问题 RRS feed

  • 问题

  • 之前提过,可能是我没有说清楚的原因,我的情况现是这样的。服务器的内存是4G,我在BOOT.INI开了3GB,但是我不要SQL2005的内存使用超过2.5G,有什么方法可以限制SQL的内存使用,因为之前我也查过许多相关的资料,SQL2005会不停的使用内存,直到系统内存到4M---10M的时候才会自动释放一些,我的目的是要把SQL2005的最大内存使用控制在2.5G,可以在2005里设了没有用的,请问各位高手有什么方法吗?第二2005的内存报表里FREE我没有看明白,不用的时候FREE小,而当2005在查询数据的时候FREE反而大,不明白这是什么意思。谢谢
    2009年11月6日 13:21

答案

  • Set max memory to 2500 in ssms -> server properties -> memory or with sp_configure. How did you set that by the way?
    2009年11月6日 14:08
  • 配置一下就好了

    EXEC sp_configure 'max server memory (MB)', 2560;
    RECONFIGURE;
    2009年11月7日 3:57
  • 如果你的内存够大, 这个设置可以很明显看到效果的, 比如先把 sql sever 内存设置为一个较大的值, 待内存被使用后, 再配置为一个较小的值, 通过 taskmgr 可以很明显看到内存降下来的
    2009年11月7日 3:59
  • 之前提过,可能是我没有说清楚的原因,我的情况现是这样的。服务器的内存是4G,我在BOOT.INI开了3GB,但是我不要SQL2005的内存使用超过2.5G,有什么方法可以限制SQL的内存使用,因为之前我也查过许多相关的资料,SQL2005会不停的使用内存,直到系统内存到4M---10M的时候才会自动释放一些,我的目的是要把SQL2005的最大内存使用控制在2.5G,可以在2005里设了没有用的,请问各位高手有什么方法吗?第二2005的内存报表里FREE我没有看明白,不用的时候FREE小,而当2005在查询数据的时候FREE反而大,不明白这是什么意思。谢谢

    如果你开了3GB,很难将sqlserver使用的内存控制在2.5G以内,你可以通过max server memory来设置buffer pool可以占用的最大内存,但是buffer pool只是sqlserver的一个component,还有其它的component会使用内存..没有办法做到绝对的控制。 你可以将max server memory设置的小一些,例如2000,然后测试一下。
    有dba的职位吗
    2009年11月7日 16:00
    版主

全部回复

  • Set max memory to 2500 in ssms -> server properties -> memory or with sp_configure. How did you set that by the way?
    2009年11月6日 14:08
  • SQL2005在进程中看到内存大小和设置中的一样吗?每次看到总是很大
    2009年11月7日 2:17
  • 配置一下就好了

    EXEC sp_configure 'max server memory (MB)', 2560;
    RECONFIGURE;
    2009年11月7日 3:57
  • 如果你的内存够大, 这个设置可以很明显看到效果的, 比如先把 sql sever 内存设置为一个较大的值, 待内存被使用后, 再配置为一个较小的值, 通过 taskmgr 可以很明显看到内存降下来的
    2009年11月7日 3:59
  • 之前提过,可能是我没有说清楚的原因,我的情况现是这样的。服务器的内存是4G,我在BOOT.INI开了3GB,但是我不要SQL2005的内存使用超过2.5G,有什么方法可以限制SQL的内存使用,因为之前我也查过许多相关的资料,SQL2005会不停的使用内存,直到系统内存到4M---10M的时候才会自动释放一些,我的目的是要把SQL2005的最大内存使用控制在2.5G,可以在2005里设了没有用的,请问各位高手有什么方法吗?第二2005的内存报表里FREE我没有看明白,不用的时候FREE小,而当2005在查询数据的时候FREE反而大,不明白这是什么意思。谢谢

    如果你开了3GB,很难将sqlserver使用的内存控制在2.5G以内,你可以通过max server memory来设置buffer pool可以占用的最大内存,但是buffer pool只是sqlserver的一个component,还有其它的component会使用内存..没有办法做到绝对的控制。 你可以将max server memory设置的小一些,例如2000,然后测试一下。
    有dba的职位吗
    2009年11月7日 16:00
    版主