• Perry Whittle (9/25/2012)


    opc.three (9/25/2012)


    I realize that. That is my motivation for adding in the coulmn that implies it is the amount of memory allocated as a locked page, i.e. AWE memory.

    The point is, it's not AWE memory, the memory is managed by the AWE APIs but it's not AWE mapped memory, is this 32 bit or 64 bit SQL Server you are using?

    Well, On 32-bit it is AWE-mapped memory and on 64-bit it's memory-locked by allocating it using the AWE APIs. I do not think I am interested in that nuance though, either way it's locked memory so I was thinking it would show in the locked_page_allocations_kb regardless of the scenario.

    This is partly for my own education and partly for having a query at the ready for helping others on these forums that have questions about the diff between Task Manager reporting sqlservr.exe memory use on the Processes and total memory available on the Performance Tab. I am looking for a good way to show, from T-SQL, how much memory is used by sqlsrvr.exe including locked memory allocations not shown in the Task Manager Processes Tab. If one query could do that on 32-bit and 64-bit the same that would be ideal.

    It appears that (after reading the correct version of the docs) that the query for 2008/R2 can simply be:

    SELECT CAST(physical_memory_in_use_kb

    / (1024.0 * 1024.0) AS DECIMAL(20, 2)) AS MemoryUsedBySqlServerGB

    FROM sys.dm_os_process_memory;

    Agreed?

    There are no special teachers of virtue, because virtue is taught by the whole community.
    --Plato