Task manager SQL memory v/s Perfmon counter Total Memory

  • I have setup a 2 node active/passive cluster with below details.

    Windows 2008 serverx64, SQL 2005 EE x64(4912), 16 proc memory detected by SQL 49142 (MB).

    When the server is on full load i see 255mb used in task manager by SQL service ,where as in Perfmon the toatal memory value is 46 gb and the target memory value is also 46gb.

    Which one is correct.

  • Perfmon is measuring the memory used. Task Manager is, I believe, showing you the size of the executable, not the memory allocated for it.

    "The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
    - Theodore Roosevelt

    Author of:
    SQL Server Execution Plans
    SQL Server Query Performance Tuning

  • even the working set for SQL is showing 34 gb not sure why the task manager still shows 310 mb

  • I'm not sure, but I frankly wouldn't worry about it. Perfmon is where you should be collecting that data.

    "The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
    - Theodore Roosevelt

    Author of:
    SQL Server Execution Plans
    SQL Server Query Performance Tuning

  • Does the account running SQL Server have "Lock pages in memory" privileges? If so, Task Manager will not show memory used by the buffer pool.

    After you assign the Lock pages in memory user right and you restart the SQL Server service, the buffer pool of the SQL Server process still responds to memory resource notification events, and it dynamically increases or decreases in response to these events. However, you cannot see memory allocations for the buffer pool that are locked in memory in the following performance counters:

    - The Private Bytes counter and the Working Set counter in Performance Monitor

    - The Mem Usage column on the Processes tab in Task Manager

    After these pages are locked, these performance counters represent the memory allocations inside the SQL Server process when those allocations do not use the buffer pool. The Total Server Memory(KB) counter of the SQL Server:Memory Manager performance object accurately represents the memory that is allocated for the buffer pool.

    http://support.microsoft.com/kb/918483

  • yes the account is added in the lock pages in mem.

    Do you guys think a cal to ms would be worth?

  • What you are seeing is expected behavior. Like Grant said; never trust Task Manager.

    Perfmon will give you the correct results in SQLServer:Memory Manager:Total Server Memory and Target Server Memory.

  • I used to believe the same. Trust your instruments. Today PerfMon starting reporting zero for all my commonly used memory counters (Buffer Hit Ration, Buffer Manager Total Pages, and Memory Manager Total Server Memory.

    If I go directly to master.sysperfinfo I get everything as it should be. No idea why PerfMon is not returning data as noraml. Anybody got some ideas.

  • m.s.blake (2/9/2011)


    I used to believe the same. Trust your instruments. Today PerfMon starting reporting zero for all my commonly used memory counters (Buffer Hit Ration, Buffer Manager Total Pages, and Memory Manager Total Server Memory.

    If I go directly to master.sysperfinfo I get everything as it should be. No idea why PerfMon is not returning data as noraml. Anybody got some ideas.

    I'm not sure. For better responses, you should post your own question. The only people likely to see this are those subscribed to this conversation.

    "The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
    - Theodore Roosevelt

    Author of:
    SQL Server Execution Plans
    SQL Server Query Performance Tuning

Viewing 9 posts - 1 through 8 (of 8 total)

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