Memory Question

  • Quick one I probably should know this but....

    Scenario

    1 SSRS server with 16b GB mem.

    SQL set to MAX 10GB

    SSAS set to a MAX of 80%.

    task manager shows mem running @ 98%.

    Within TAsk Manager SQL is only using 0.5GB

    SSAS using 3.5 GB

    So my question is even though SQL is not using it's maximum limit. Does it reserve the memory and not allow any other processes to use it.

  • Don't use Task Manager to check SQL Server's memory usage. It will often display completely incorrect values.

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass
  • I thought taht was only for Virtual Servers, I normally use Target Server Mem and Total Server mem. But recently have read many conflicting interpretations of the values returned.

    What is the best way to see what mem SQL is currently using.

    DBCC Memorystatus?

  • No, nothing to do with virtual servers at all. How SQL allocates and what Task Manager doesn't show

    Best way - target and total server memory

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass
  • I think this will do the trick

    select

    type,

    sum(virtual_memory_reserved_kb) as [VM Reserved],

    sum(virtual_memory_committed_kb) as [VM Committed],

    sum(awe_allocated_kb) as [AWE Allocated],

    sum(shared_memory_reserved_kb) as [SM Reserved],

    sum(shared_memory_committed_kb) as [SM Committed],

    sum(multi_pages_kb) as [MultiPage Allocator],

    sum(single_pages_kb) as [SinlgePage Allocator]

    from sys.dm_os_memory_clerks

    group by type

    order by 8 desc

  • Or is you just want to know the total memory used, like what you were looking for in Task Manager:

    SELECT cntr_value AS [Total Server Memory (KB)]

    FROM sys.dm_os_performance_counters

    WHERE counter_name = 'Total Server Memory (KB)';

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

Viewing 6 posts - 1 through 5 (of 5 total)

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