The mystery of high memory usage

  • HI all,

    I have issue with memory usage . Available memory is 12 GB and memory usage is 91 %

    I notice SQL only consumes 1.6 GB ( from Task Manager that’s the highest number from all processes) . SO why memory so high ?

    How to check what consume the most ?

    Any feedback are highly appreciated

    Thank you

  • Try reading Gail's article "Stop Using Task Manager To check SQL Server Memory Usage"[/url]

    That explains why task manager is not reliable when it comes to showing how much memory SQL Server is using.

    Thomas Rushton
    blog: https://thelonedba.wordpress.com

  • SQL Server will use every bit of memory you assign to it. It'll store data in cache and keep it there as long as it can in order to avoid reading stuff from disk. Simply having high memory usage is not any kind of indication of a problem. You need to be seeing lots of page swaps or wait associated with memory before you have indications of a problem. Use wait statistics and queues as your primary monitoring mechanisms.

    "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

  • Thanks for the reply guys . Much appreciated !

    Actually at that time I also used Performance monitor ( the value for TOTAL SERVER MEMORY was 1.6 GB – the same value as I saw in Task Manager ) the other counter that I check was AVAILABLE MBYTES , the value was 400 MB

    I don’t really rely on Task Manager

    So how do you explain this ? ?

    Btw if I have 2 instances ( Default and named instance which run at the same time ) Is it a good idea to set max memory = 4 GB for each instance ?

    Available memory in server is 12 and there is an application connects to it . I think If it’s only 1 instance I will just set 8 GB but since it is 2 instances I just need to devide to 2

  • WhiteLotus (4/12/2016)


    Thanks for the reply guys . Much appreciated !

    Actually at that time I also used Performance monitor ( the value for TOTAL SERVER MEMORY was 1.6 GB – the same value as I saw in Task Manager ) the other counter that I check was AVAILABLE MBYTES , the value was 400 MB

    I don’t really rely on Task Manager

    So how do you explain this ? ?

    Btw if I have 2 instances ( Default and named instance which run at the same time ) Is it a good idea to set max memory = 4 GB for each instance ?

    Available memory in server is 12 and there is an application connects to it . I think If it’s only 1 instance I will just set 8 GB but since it is 2 instances I just need to devide to 2

    That's a very tiny machine to run multiple instances of SQL Server. It has less memory than my laptop. However, any time you are going to run multiple instances on a single machine, you need to limit the amount of memory that each instance has while also allocating some memory to the OS. Otherwise, the instances and the OS will contend for memory, causing you additional headaches. If you're unsure of the load of each instance, splitting it down the middle makes sense.

    "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

  • Thanks for the answer 🙂

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

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