Memory usage not matching up with that shown in DMV's

  • I have a sql 2005 64bit instance on a 64bit windows server.

    The Server has 32Gb RAM Total with 26GB set as MaxServerMemory for SQL Server.

    Lock Pages in Memory is enabled for SQL Server.

    We are getting a lot of very Low Page Life Expectancy alerts on this server.

    External memory pressure is not the problem so it has to be internal to sql server.

    On checking the sys.dm_os_memory_clerks to help identify high consumers in single and multi page allocators, we can only see that about 4Gb is used by single page allocations and 3GB is used by multi page allocations.

    We cannot see where the rest of the memory is being used.

    Im not sure what next steps to take to identify the heavy consumer of RAM, so any suggestions would be appreciated.

    Thanks!

  • This will sound stupid-simple but have you tried just looking at TaskMgr on the box? It provides a pretty good 60,000 foot view of such things.

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • -- Good basic information about memory amounts and state

    SELECT total_physical_memory_kb, available_physical_memory_kb,

    total_page_file_kb, available_page_file_kb,

    system_memory_state_desc

    FROM sys.dm_os_sys_memory WITH (NOLOCK) OPTION (RECOMPILE);

    -- You want to see "Available physical memory is high"

    -- SQL Server Process Address space info

    --(shows whether locked pages is enabled, among other things)

    SELECT physical_memory_in_use_kb,locked_page_allocations_kb,

    page_fault_count, memory_utilization_percentage,

    available_commit_limit_kb, process_physical_memory_low,

    process_virtual_memory_low

    FROM sys.dm_os_process_memory WITH (NOLOCK) OPTION (RECOMPILE);

    -- You want to see 0 for process_physical_memory_low

    -- You want to see 0 for process_virtual_memory_low

  • Is this on a physical server or a VM?

    The SQL Guy @ blogspot[/url]

    @SeanPearceSQL

    About Me[/url]

Viewing 4 posts - 1 through 3 (of 3 total)

You must be logged in to reply to this topic. Login to reply