SQL Connection memory usage is growing steadily

  • Issue: SQL connection memory usage is growing steadily (8G after only 2 days). It can keep increasing to use all rest system memory.

    System: SQL 2008 R2 on Windows R2 with 64G RAM. Max SQL memory setting: 56G. Both Buffer Cache and Procedure Cache are normal. CPU usage is normal. Average number of user connection 70-100.

    Is there a way we can find out the connection memory usage details? Can we release connection memory usage without restart SQL?

  • Sorry it is a sql 2008 question. Moved to 2008 forums.

  • that is by design, and the normal behaviour for SQL server:

    SQL tries to keep everything in memory to support subsequent queries. if you leave an installation at it's default settings(2 Terabytes?,which is more memory than anyone realistically will ever own), it will use ALL of the memory, and possibly starve the operating system for memory as well.

    The whole idea is to keep everything in memory, instead of going to disk, as that IO operation slows things down.

    it is not like other programs, that give memory back when it is "done"...it's never done, as far as SQL is concerned.

    you can limit the amount of memory int eh memory settings under the server properties in the SSMS Object Explorer:

    Lowell


    --help us help you! If you post a question, make sure you include a CREATE TABLE... statement and INSERT INTO... statement into that table to give the volunteers here representative data. with your description of the problem, we can provide a tested, verifiable solution to your question! asking the question the right way gets you a tested answer the fastest way possible!

  • Lowell (1/28/2013)


    that is by design, and the normal behaviour for SQL server:

    SQL tries to keep everything in memory to support subsequent queries. if you leave an installation at it's default settings(2 Terabytes?,which is more memory than anyone realistically will ever own), it will use ALL of the memory, and possibly starve the operating system for memory as well.

    The whole idea is to keep everything in memory, instead of going to disk, as that IO operation slows things down.

    it is not like other programs, that give memory back when it is "done"...it's never done, as far as SQL is concerned.

    you can limit the amount of memory int eh memory settings under the server properties in the SSMS Object Explorer:

    Thanks Lowell.

    As mentioned in the post, we set the max memory. Buffer Cache and Procedure Cache both are fine. But the connection memory keeps increasing and eventually eat all 56G memory and none process can be going on.

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

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