none
【求助】为什么数据库占用的内存会持续增长? RRS feed

  • 问题

  • 应用程序:JAVA程序,使用JDBC访问数据库

    数据库版本2000 和2008 两个版本。

    问题:

    启动应用程序后查看数据库占用系统内存情况,发现涨得比较多,后来打开一个页面(这个流程页面有对数据库的操作),发现内存又增长了,几乎没有减少过,即使我把应用程序停止也不能减少数据库占用的内存。必须要重新启动数据库才可以,请问这是程序问题么?是不是在操作数据库的时候未正确的关闭数据连接造成,


    2012年3月5日 6:03

答案

  • 内存留着生仔么。。。?

    如果没有其他应用占用内存,就别在意它。否则设定SQL内存最大使用数<SP_Configure 'Max Memory'什么的>


    Try SQL Server 2008 QQ:315054403 dgdba@hotmail.com

    2012年3月5日 10:53
  • 如果你的SQL SERVER 服务器是dedicated machine,那没关系的,增长到一定程度就不会再增长。只所以一直增长没有及时释放是出于性能方面的考虑,这样可以减少再次从磁盘上读取数据,也就是说减少物理读。
    2012年3月5日 11:26
  • 应用程序:JAVA程序,使用JDBC访问数据库

    数据库版本2000 和2008 两个版本。

    问题:

    启动应用程序后查看数据库占用系统内存情况,发现涨得比较多,后来打开一个页面(这个流程页面有对数据库的操作),发现内存又增长了,几乎没有减少过,即使我把应用程序停止也不能减少数据库占用的内存。必须要重新启动数据库才可以,请问这是程序问题么?是不是在操作数据库的时候未正确的关闭数据连接造成,



    Just set max memory for each instance and leave some for OS. How much memory does server have? Is it 32 or 64-bit machine?
    2012年3月5日 14:17

全部回复

  • 为什么没人回复嗫,一直等待中。。。
    2012年3月5日 7:07
  • 内存留着生仔么。。。?

    如果没有其他应用占用内存,就别在意它。否则设定SQL内存最大使用数<SP_Configure 'Max Memory'什么的>


    Try SQL Server 2008 QQ:315054403 dgdba@hotmail.com

    2012年3月5日 10:53
  • 如果你的SQL SERVER 服务器是dedicated machine,那没关系的,增长到一定程度就不会再增长。只所以一直增长没有及时释放是出于性能方面的考虑,这样可以减少再次从磁盘上读取数据,也就是说减少物理读。
    2012年3月5日 11:26
  • 应用程序:JAVA程序,使用JDBC访问数据库

    数据库版本2000 和2008 两个版本。

    问题:

    启动应用程序后查看数据库占用系统内存情况,发现涨得比较多,后来打开一个页面(这个流程页面有对数据库的操作),发现内存又增长了,几乎没有减少过,即使我把应用程序停止也不能减少数据库占用的内存。必须要重新启动数据库才可以,请问这是程序问题么?是不是在操作数据库的时候未正确的关闭数据连接造成,



    Just set max memory for each instance and leave some for OS. How much memory does server have? Is it 32 or 64-bit machine?
    2012年3月5日 14:17
  • 如果你希望内存降下来可以考虑在晚上无人操作时释放未使用的内存。
    declare @maxmemory int
    declare @minmemory int
    --取最大内存
    select @maxmemory=CONVERT (int,value)  
    from sys.configurations
    where configuration_id='1544'
    --取最小内存
    select @minmemory=CONVERT (int,value)  
    from sys.configurations
    where configuration_id='1543'
    --是服务器内存大小进行设置
    set @minmemory=@minmemory+5000
    --内存减少
    EXEC sys.sp_configure N'max server memory (MB)', @minmemory
    RECONFIGURE WITH OVERRIDE
    WAITFOR DELAY '00:05';
    --内存增加
    EXEC sys.sp_configure N'max server memory (MB)', @maxmemory
    RECONFIGURE WITH OVERRIDE


    2012年3月6日 7:57
  • 内存留着生仔么。。。?


    顿时脑补阿凡提牵着一条内存的画面:D

    想不想时已是想,不如不想都不想。

    2012年3月7日 8:12
    版主
  • 谢谢  你这个办法比较不错!~~~~~~~~~~~~~~~~~~~~~
    2012年3月12日 4:13
  • 内存到是够用8G  
    2012年3月12日 4:13
  • en  主要是用一段时间 服务器就宕机了!~ 我在查找问题,所以来咨询下
    2012年3月12日 4:14
  • 不建议用这个方法释放内存。楼上Jason, dgdba, rmiao的答案是正解。

    想不想时已是想,不如不想都不想。

    2012年3月12日 4:52
    版主