none
关于sql server 2008中vas的问题 RRS feed

  • 问题

  • 我的系统环境是:windows server 2008(32位,24G的内存)+sql server 2008,awe已打开,设置内存范围:6G--10G,数据库引擎中有多个链接服务器,并使用复制功能,还有analysis services。通过以下sql查看,总内存、最大内存块会慢慢减少。当最大内存块过小时必须重启数据库,否则会自动档掉。请问各位有什么解决办法吗,谢谢啦!

    WITH VASummary(Size,Reserved,Free) AS
    (SELECT
        Size = VaDump.Size,
        Reserved =  SUM(CASE(CONVERT(INT, VaDump.Base)^0)
        WHEN 0 THEN 0 ELSE 1 END),
        Free = SUM(CASE(CONVERT(INT, VaDump.Base)^0)
        WHEN 0 THEN 1 ELSE 0 END)
    FROM
    (
        SELECT  CONVERT(VARBINARY, SUM(region_size_in_bytes))
        AS Size, region_allocation_base_address AS Base
        FROM sys.dm_os_virtual_address_dump 
        WHERE region_allocation_base_address <> 0x0
        GROUP BY region_allocation_base_address 
     UNION  
        SELECT CONVERT(VARBINARY, region_size_in_bytes), region_allocation_base_address
        FROM sys.dm_os_virtual_address_dump
        WHERE region_allocation_base_address  = 0x0
    )
    AS VaDump
    GROUP BY Size)


    SELECT SUM(CONVERT(BIGINT,Size)*Free)/1024 AS [Total avail mem, KB] ,CAST(MAX(Size) AS BIGINT)/1024 AS [Max free size, KB] 
    FROM VASummary 
    WHERE Free <> 0

    2010年4月16日 8:01

答案

全部回复

  • Any other apps on the server? Sounds memory leak somethere, set perfmon log to find out which process caused that.
    2010年4月16日 12:21
  • 非常感谢rmiao的回复,服务器只做数据库使用而已.不知道是不是链接服务器引起的,看到一些资料有提到,在sql server 2005/2008中,每次使用链接服务器时会有40k的vas泄露,而且32位系统下vas是有限制的,这个还要做些测试.有了结果我会及时给大家回复.
    2010年4月17日 14:45
  • 非常感谢rmiao的回复,服务器只做数据库使用而已.不知道是不是链接服务器引起的,看到一些资料有提到,在sql server 2005/2008中,每次使用链接服务器时会有40k的vas泄露,而且32位系统下vas是有限制的,这个还要做些测试.有了结果我会及时给大家回复.

    期待测试结果。
    2010年4月21日 6:30
    版主