Target/total memory is higher than max_server_memorySQL Server 2008 R2 There is insufficient system memory in resource pool 'default' to run this querySQL Server instance using only a few hundred MB. Well below the minimum server memory settingdbcc memorystatus - buffer pool target on VM higher than max memoryWhat is a deterministic method for evaluating a sensible buffer pool size?Why is my Target Server Memory slightly higher than my Total Server Memory?no free memory but low total memorySQL Server not using all memoryOut of memory issues on SQL Server 2012 SP3SQL Server takes far too much memorySQL Server's “Total Server Memory” consumption stagnant for months with 64GB+ more available

Efficient deletion of specific list entries

How long did it take Captain Marvel to travel to Earth?

What is a common way to tell if an academic is "above average," or outstanding in their field? Is their h-index (Hirsh index) one of them?

Debian 9 server no sshd in auth.log

Problem with estimating a sequence with intuition

What do you call a painting painted on a wall?

Endgame puzzle: How to avoid stalemate and win?

Is throwing dice a stochastic or a deterministic process?

What does the coin flipping before dying mean?

In "Avengers: Endgame", what does this name refer to?

Dimmer switch not connected to ground

TIP120 Transistor + Solenoid Failing Randomly

What's the 2-minute timer on mobile Deutsche Bahn tickets?

Why doesn't a particle exert force on itself?

How is Pauli's exclusion principle still valid in these cases?

All of my Firefox add-ons been disabled suddenly, how can I re-enable them?

What are the requirements for a river delta to form?

How to replace space with '+' symbol in a triangular array?

Was there a dinosaur-counter in the original Jurassic Park movie?

HSA - Continue to Invest?

What is the thing used to help pouring liquids called?

Is there precedent or are there procedures for a US president refusing to concede to an electoral defeat?

Collision domain question

Given a safe domain, are subdirectories safe as well?



Target/total memory is higher than max_server_memory


SQL Server 2008 R2 There is insufficient system memory in resource pool 'default' to run this querySQL Server instance using only a few hundred MB. Well below the minimum server memory settingdbcc memorystatus - buffer pool target on VM higher than max memoryWhat is a deterministic method for evaluating a sensible buffer pool size?Why is my Target Server Memory slightly higher than my Total Server Memory?no free memory but low total memorySQL Server not using all memoryOut of memory issues on SQL Server 2012 SP3SQL Server takes far too much memorySQL Server's “Total Server Memory” consumption stagnant for months with 64GB+ more available






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








1















I have the max_server_memory setting configured to 141 GB on our production SQL Server and target/total server memory is 144 GB.



I thought max_server_memory represents how much memory I am willing to let the SQL Server engine use, if so why is it using more than that?



Running SQL Server 2012 SP3, physical machine with 160 GB memory installed, no other instances running on the box but we are also running Integration Services.



We have 75 user databases, for a total size of 928 GB. I am not sure if columnstore is being used, or how could I check that. This is a vendor application.



Right now target memory = 144,384,008 and total = 144,378,261.



The instance has been up since last night, 2019-05-01 22:20:21.097 EST. We had some infrastructure maintenance that required the instance to be stopped. However I have noticed for quite some time that total/target is always at 144 while max has always been set to 141. PLE during main business hours Monday-Friday is about an .5 to 1 hour on average, sometimes it jumps to 2 hours.










share|improve this question






























    1















    I have the max_server_memory setting configured to 141 GB on our production SQL Server and target/total server memory is 144 GB.



    I thought max_server_memory represents how much memory I am willing to let the SQL Server engine use, if so why is it using more than that?



    Running SQL Server 2012 SP3, physical machine with 160 GB memory installed, no other instances running on the box but we are also running Integration Services.



    We have 75 user databases, for a total size of 928 GB. I am not sure if columnstore is being used, or how could I check that. This is a vendor application.



    Right now target memory = 144,384,008 and total = 144,378,261.



    The instance has been up since last night, 2019-05-01 22:20:21.097 EST. We had some infrastructure maintenance that required the instance to be stopped. However I have noticed for quite some time that total/target is always at 144 while max has always been set to 141. PLE during main business hours Monday-Friday is about an .5 to 1 hour on average, sometimes it jumps to 2 hours.










    share|improve this question


























      1












      1








      1








      I have the max_server_memory setting configured to 141 GB on our production SQL Server and target/total server memory is 144 GB.



      I thought max_server_memory represents how much memory I am willing to let the SQL Server engine use, if so why is it using more than that?



      Running SQL Server 2012 SP3, physical machine with 160 GB memory installed, no other instances running on the box but we are also running Integration Services.



      We have 75 user databases, for a total size of 928 GB. I am not sure if columnstore is being used, or how could I check that. This is a vendor application.



      Right now target memory = 144,384,008 and total = 144,378,261.



      The instance has been up since last night, 2019-05-01 22:20:21.097 EST. We had some infrastructure maintenance that required the instance to be stopped. However I have noticed for quite some time that total/target is always at 144 while max has always been set to 141. PLE during main business hours Monday-Friday is about an .5 to 1 hour on average, sometimes it jumps to 2 hours.










      share|improve this question
















      I have the max_server_memory setting configured to 141 GB on our production SQL Server and target/total server memory is 144 GB.



      I thought max_server_memory represents how much memory I am willing to let the SQL Server engine use, if so why is it using more than that?



      Running SQL Server 2012 SP3, physical machine with 160 GB memory installed, no other instances running on the box but we are also running Integration Services.



      We have 75 user databases, for a total size of 928 GB. I am not sure if columnstore is being used, or how could I check that. This is a vendor application.



      Right now target memory = 144,384,008 and total = 144,378,261.



      The instance has been up since last night, 2019-05-01 22:20:21.097 EST. We had some infrastructure maintenance that required the instance to be stopped. However I have noticed for quite some time that total/target is always at 144 while max has always been set to 141. PLE during main business hours Monday-Friday is about an .5 to 1 hour on average, sometimes it jumps to 2 hours.







      sql-server sql-server-2012 configuration memory






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited May 2 at 21:57









      Paul White

      54.5k14290461




      54.5k14290461










      asked May 2 at 15:46









      kevinnwhatkevinnwhat

      4215




      4215




















          2 Answers
          2






          active

          oldest

          votes


















          6














          The max server memory setting does not represent how much memory you are willing to let the SQL engine use. From the Memory Management Architecture Guide:




          Starting with SQL Server 2012 (11.x), SQL Server might allocate more
          memory than the value specified in the max server memory setting. This
          behavior may occur when the Total Server Memory (KB) value has already
          reached the Target Server Memory (KB) setting (as specified by max
          server memory). If there is insufficient contiguous free memory to
          meet the demand of multi-page memory requests (more than 8 KB) because
          of memory fragmentation, SQL Server can perform over-commitment
          instead of rejecting the memory request.



          As soon as this allocation is performed, the Resource Monitor
          background task starts to signal all memory consumers to release the
          allocated memory, and tries to bring the Total Server Memory (KB)
          value below the Target Server Memory (KB) specification. Therefore,
          SQL Server memory usage could briefly exceed the max server memory
          setting. In this situation, the Total Server Memory (KB) performance
          counter reading will exceed the max server memory and Target Server
          Memory (KB) settings.



          This behavior is typically observed during the following operations:



          • Large Columnstore index queries.


          • Columnstore index (re)builds, which use large volumes of memory to perform Hash and Sort operations.


          • Backup operations that require large memory buffers.


          • Tracing operations that have to store large input parameters.







          share|improve this answer






























            0














            Did you converted the total and target server memory in GB to see what is the actual value in GB. Since you are comparing it with max server memory which is set to 141 GB you must convert the values in GB to see are they really greater than max server memory.



            If you convert both total and target server memory to GB it would come



            Total Server memory= 144,378,261 KB which comes to ((144378261/1024)/1024)= 137.69 GB
            Target Server Memory= 144,384,008 KB which comes to (144,384,008/1024)/1024)=137.68 GB


            In both cases total and target server memory is less than max server memory. I agree with what Joe has quoted and to add a bit further




            Max server memory controls SQL Server memory allocation, including the
            buffer pool, compile memory, all caches, qe memory grants, lock
            manager memory, and CLR memory (basically any “clerk” as found in
            dm_os_memory_clerks). Memory for thread stacks, heaps, linked server
            providers other than SQL Server, or any memory allocated by a “non SQL
            Server” DLL is not controlled by max server memory.




            So total SQL Server memory consumption can go beyond the limit set in max server memory.



            There are 2 things



            1. Physical memory used by SQL Server

            2. Total memory used by SQL Server (physical RAM+ page file).

            To get above you just need to run below



            select 
            (physical_memory_in_use_kb/1024) total_physical_mem_in_MB
            (virtual_address_space_committed_kb/1024) Total_mem_in_mb_RAMAndPagefile
            from sys.dm_os_process_memory





            share|improve this answer























              Your Answer








              StackExchange.ready(function()
              var channelOptions =
              tags: "".split(" "),
              id: "182"
              ;
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function()
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled)
              StackExchange.using("snippets", function()
              createEditor();
              );

              else
              createEditor();

              );

              function createEditor()
              StackExchange.prepareEditor(
              heartbeatType: 'answer',
              autoActivateHeartbeat: false,
              convertImagesToLinks: false,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: null,
              bindNavPrevention: true,
              postfix: "",
              imageUploader:
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              ,
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              );



              );













              draft saved

              draft discarded


















              StackExchange.ready(
              function ()
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdba.stackexchange.com%2fquestions%2f237227%2ftarget-total-memory-is-higher-than-max-server-memory%23new-answer', 'question_page');

              );

              Post as a guest















              Required, but never shown

























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              6














              The max server memory setting does not represent how much memory you are willing to let the SQL engine use. From the Memory Management Architecture Guide:




              Starting with SQL Server 2012 (11.x), SQL Server might allocate more
              memory than the value specified in the max server memory setting. This
              behavior may occur when the Total Server Memory (KB) value has already
              reached the Target Server Memory (KB) setting (as specified by max
              server memory). If there is insufficient contiguous free memory to
              meet the demand of multi-page memory requests (more than 8 KB) because
              of memory fragmentation, SQL Server can perform over-commitment
              instead of rejecting the memory request.



              As soon as this allocation is performed, the Resource Monitor
              background task starts to signal all memory consumers to release the
              allocated memory, and tries to bring the Total Server Memory (KB)
              value below the Target Server Memory (KB) specification. Therefore,
              SQL Server memory usage could briefly exceed the max server memory
              setting. In this situation, the Total Server Memory (KB) performance
              counter reading will exceed the max server memory and Target Server
              Memory (KB) settings.



              This behavior is typically observed during the following operations:



              • Large Columnstore index queries.


              • Columnstore index (re)builds, which use large volumes of memory to perform Hash and Sort operations.


              • Backup operations that require large memory buffers.


              • Tracing operations that have to store large input parameters.







              share|improve this answer



























                6














                The max server memory setting does not represent how much memory you are willing to let the SQL engine use. From the Memory Management Architecture Guide:




                Starting with SQL Server 2012 (11.x), SQL Server might allocate more
                memory than the value specified in the max server memory setting. This
                behavior may occur when the Total Server Memory (KB) value has already
                reached the Target Server Memory (KB) setting (as specified by max
                server memory). If there is insufficient contiguous free memory to
                meet the demand of multi-page memory requests (more than 8 KB) because
                of memory fragmentation, SQL Server can perform over-commitment
                instead of rejecting the memory request.



                As soon as this allocation is performed, the Resource Monitor
                background task starts to signal all memory consumers to release the
                allocated memory, and tries to bring the Total Server Memory (KB)
                value below the Target Server Memory (KB) specification. Therefore,
                SQL Server memory usage could briefly exceed the max server memory
                setting. In this situation, the Total Server Memory (KB) performance
                counter reading will exceed the max server memory and Target Server
                Memory (KB) settings.



                This behavior is typically observed during the following operations:



                • Large Columnstore index queries.


                • Columnstore index (re)builds, which use large volumes of memory to perform Hash and Sort operations.


                • Backup operations that require large memory buffers.


                • Tracing operations that have to store large input parameters.







                share|improve this answer

























                  6












                  6








                  6







                  The max server memory setting does not represent how much memory you are willing to let the SQL engine use. From the Memory Management Architecture Guide:




                  Starting with SQL Server 2012 (11.x), SQL Server might allocate more
                  memory than the value specified in the max server memory setting. This
                  behavior may occur when the Total Server Memory (KB) value has already
                  reached the Target Server Memory (KB) setting (as specified by max
                  server memory). If there is insufficient contiguous free memory to
                  meet the demand of multi-page memory requests (more than 8 KB) because
                  of memory fragmentation, SQL Server can perform over-commitment
                  instead of rejecting the memory request.



                  As soon as this allocation is performed, the Resource Monitor
                  background task starts to signal all memory consumers to release the
                  allocated memory, and tries to bring the Total Server Memory (KB)
                  value below the Target Server Memory (KB) specification. Therefore,
                  SQL Server memory usage could briefly exceed the max server memory
                  setting. In this situation, the Total Server Memory (KB) performance
                  counter reading will exceed the max server memory and Target Server
                  Memory (KB) settings.



                  This behavior is typically observed during the following operations:



                  • Large Columnstore index queries.


                  • Columnstore index (re)builds, which use large volumes of memory to perform Hash and Sort operations.


                  • Backup operations that require large memory buffers.


                  • Tracing operations that have to store large input parameters.







                  share|improve this answer













                  The max server memory setting does not represent how much memory you are willing to let the SQL engine use. From the Memory Management Architecture Guide:




                  Starting with SQL Server 2012 (11.x), SQL Server might allocate more
                  memory than the value specified in the max server memory setting. This
                  behavior may occur when the Total Server Memory (KB) value has already
                  reached the Target Server Memory (KB) setting (as specified by max
                  server memory). If there is insufficient contiguous free memory to
                  meet the demand of multi-page memory requests (more than 8 KB) because
                  of memory fragmentation, SQL Server can perform over-commitment
                  instead of rejecting the memory request.



                  As soon as this allocation is performed, the Resource Monitor
                  background task starts to signal all memory consumers to release the
                  allocated memory, and tries to bring the Total Server Memory (KB)
                  value below the Target Server Memory (KB) specification. Therefore,
                  SQL Server memory usage could briefly exceed the max server memory
                  setting. In this situation, the Total Server Memory (KB) performance
                  counter reading will exceed the max server memory and Target Server
                  Memory (KB) settings.



                  This behavior is typically observed during the following operations:



                  • Large Columnstore index queries.


                  • Columnstore index (re)builds, which use large volumes of memory to perform Hash and Sort operations.


                  • Backup operations that require large memory buffers.


                  • Tracing operations that have to store large input parameters.








                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered May 2 at 16:05









                  Joe ObbishJoe Obbish

                  22.6k43495




                  22.6k43495























                      0














                      Did you converted the total and target server memory in GB to see what is the actual value in GB. Since you are comparing it with max server memory which is set to 141 GB you must convert the values in GB to see are they really greater than max server memory.



                      If you convert both total and target server memory to GB it would come



                      Total Server memory= 144,378,261 KB which comes to ((144378261/1024)/1024)= 137.69 GB
                      Target Server Memory= 144,384,008 KB which comes to (144,384,008/1024)/1024)=137.68 GB


                      In both cases total and target server memory is less than max server memory. I agree with what Joe has quoted and to add a bit further




                      Max server memory controls SQL Server memory allocation, including the
                      buffer pool, compile memory, all caches, qe memory grants, lock
                      manager memory, and CLR memory (basically any “clerk” as found in
                      dm_os_memory_clerks). Memory for thread stacks, heaps, linked server
                      providers other than SQL Server, or any memory allocated by a “non SQL
                      Server” DLL is not controlled by max server memory.




                      So total SQL Server memory consumption can go beyond the limit set in max server memory.



                      There are 2 things



                      1. Physical memory used by SQL Server

                      2. Total memory used by SQL Server (physical RAM+ page file).

                      To get above you just need to run below



                      select 
                      (physical_memory_in_use_kb/1024) total_physical_mem_in_MB
                      (virtual_address_space_committed_kb/1024) Total_mem_in_mb_RAMAndPagefile
                      from sys.dm_os_process_memory





                      share|improve this answer



























                        0














                        Did you converted the total and target server memory in GB to see what is the actual value in GB. Since you are comparing it with max server memory which is set to 141 GB you must convert the values in GB to see are they really greater than max server memory.



                        If you convert both total and target server memory to GB it would come



                        Total Server memory= 144,378,261 KB which comes to ((144378261/1024)/1024)= 137.69 GB
                        Target Server Memory= 144,384,008 KB which comes to (144,384,008/1024)/1024)=137.68 GB


                        In both cases total and target server memory is less than max server memory. I agree with what Joe has quoted and to add a bit further




                        Max server memory controls SQL Server memory allocation, including the
                        buffer pool, compile memory, all caches, qe memory grants, lock
                        manager memory, and CLR memory (basically any “clerk” as found in
                        dm_os_memory_clerks). Memory for thread stacks, heaps, linked server
                        providers other than SQL Server, or any memory allocated by a “non SQL
                        Server” DLL is not controlled by max server memory.




                        So total SQL Server memory consumption can go beyond the limit set in max server memory.



                        There are 2 things



                        1. Physical memory used by SQL Server

                        2. Total memory used by SQL Server (physical RAM+ page file).

                        To get above you just need to run below



                        select 
                        (physical_memory_in_use_kb/1024) total_physical_mem_in_MB
                        (virtual_address_space_committed_kb/1024) Total_mem_in_mb_RAMAndPagefile
                        from sys.dm_os_process_memory





                        share|improve this answer

























                          0












                          0








                          0







                          Did you converted the total and target server memory in GB to see what is the actual value in GB. Since you are comparing it with max server memory which is set to 141 GB you must convert the values in GB to see are they really greater than max server memory.



                          If you convert both total and target server memory to GB it would come



                          Total Server memory= 144,378,261 KB which comes to ((144378261/1024)/1024)= 137.69 GB
                          Target Server Memory= 144,384,008 KB which comes to (144,384,008/1024)/1024)=137.68 GB


                          In both cases total and target server memory is less than max server memory. I agree with what Joe has quoted and to add a bit further




                          Max server memory controls SQL Server memory allocation, including the
                          buffer pool, compile memory, all caches, qe memory grants, lock
                          manager memory, and CLR memory (basically any “clerk” as found in
                          dm_os_memory_clerks). Memory for thread stacks, heaps, linked server
                          providers other than SQL Server, or any memory allocated by a “non SQL
                          Server” DLL is not controlled by max server memory.




                          So total SQL Server memory consumption can go beyond the limit set in max server memory.



                          There are 2 things



                          1. Physical memory used by SQL Server

                          2. Total memory used by SQL Server (physical RAM+ page file).

                          To get above you just need to run below



                          select 
                          (physical_memory_in_use_kb/1024) total_physical_mem_in_MB
                          (virtual_address_space_committed_kb/1024) Total_mem_in_mb_RAMAndPagefile
                          from sys.dm_os_process_memory





                          share|improve this answer













                          Did you converted the total and target server memory in GB to see what is the actual value in GB. Since you are comparing it with max server memory which is set to 141 GB you must convert the values in GB to see are they really greater than max server memory.



                          If you convert both total and target server memory to GB it would come



                          Total Server memory= 144,378,261 KB which comes to ((144378261/1024)/1024)= 137.69 GB
                          Target Server Memory= 144,384,008 KB which comes to (144,384,008/1024)/1024)=137.68 GB


                          In both cases total and target server memory is less than max server memory. I agree with what Joe has quoted and to add a bit further




                          Max server memory controls SQL Server memory allocation, including the
                          buffer pool, compile memory, all caches, qe memory grants, lock
                          manager memory, and CLR memory (basically any “clerk” as found in
                          dm_os_memory_clerks). Memory for thread stacks, heaps, linked server
                          providers other than SQL Server, or any memory allocated by a “non SQL
                          Server” DLL is not controlled by max server memory.




                          So total SQL Server memory consumption can go beyond the limit set in max server memory.



                          There are 2 things



                          1. Physical memory used by SQL Server

                          2. Total memory used by SQL Server (physical RAM+ page file).

                          To get above you just need to run below



                          select 
                          (physical_memory_in_use_kb/1024) total_physical_mem_in_MB
                          (virtual_address_space_committed_kb/1024) Total_mem_in_mb_RAMAndPagefile
                          from sys.dm_os_process_memory






                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered 2 days ago









                          ShankyShanky

                          14.8k32144




                          14.8k32144



























                              draft saved

                              draft discarded
















































                              Thanks for contributing an answer to Database Administrators Stack Exchange!


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid


                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.

                              To learn more, see our tips on writing great answers.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function ()
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdba.stackexchange.com%2fquestions%2f237227%2ftarget-total-memory-is-higher-than-max-server-memory%23new-answer', 'question_page');

                              );

                              Post as a guest















                              Required, but never shown





















































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown

































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown







                              Popular posts from this blog

                              Get product attribute by attribute group code in magento 2get product attribute by product attribute group in magento 2Magento 2 Log Bundle Product Data in List Page?How to get all product attribute of a attribute group of Default attribute set?Magento 2.1 Create a filter in the product grid by new attributeMagento 2 : Get Product Attribute values By GroupMagento 2 How to get all existing values for one attributeMagento 2 get custom attribute of a single product inside a pluginMagento 2.3 How to get all the Multi Source Inventory (MSI) locations collection in custom module?Magento2: how to develop rest API to get new productsGet product attribute by attribute group code ( [attribute_group_code] ) in magento 2

                              Category:9 (number) SubcategoriesMedia in category "9 (number)"Navigation menuUpload mediaGND ID: 4485639-8Library of Congress authority ID: sh85091979ReasonatorScholiaStatistics

                              Magento 2.3: How do i solve this, Not registered handle, on custom form?How can i rewrite TierPrice Block in Magento2magento 2 captcha not rendering if I override layout xmlmain.CRITICAL: Plugin class doesn't existMagento 2 : Problem while adding custom button order view page?Magento 2.2.5: Overriding Admin Controller sales/orderMagento 2.2.5: Add, Update and Delete existing products Custom OptionsMagento 2.3 : File Upload issue in UI Component FormMagento2 Not registered handleHow to configured Form Builder Js in my custom magento 2.3.0 module?Magento 2.3. How to create image upload field in an admin form