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

Anatomically Correct Carnivorous Tree

Is there ever any indication in the MCU as to how Spider-Man got his powers?

Developers demotivated due to working on same project for more than 2 years

Is there any good reason to write "it is easy to see"?

Extracting sublists that contain similar elements

On studying Computer Science vs. Software Engineering to become a proficient coder

What are the implications of the new alleged key recovery attack preprint on SIMON?

Why was Thor doubtful about his worthiness to Mjolnir?

What information do scammers need to withdraw money from an account?

return tuple of uncopyable objects

What episode was being referenced by this part of Discovery's season 2 episode 13 recap?

How can dragons propel their breath attacks to a long distance

What is the best way for a skeleton to impersonate human without using magic?

Unexpected Netflix account registered to my Gmail address - any way it could be a hack attempt?

Does SQL Server allow (make visible) DDL inside a transaction to the transaction prior to commit?

correct spelling of "carruffel" (fuzz, hustle, all that jazz)

Program which behaves differently in/out of a debugger

How do employ ' ("prime") in math mode at the correct depth?

Where to find every-day healthy food near Heathrow Airport?

Would an 8% reduction in drag outweigh the weight addition from this custom CFD-tested winglet?

Is there anything special about -1 (0xFFFFFFFF) regarding ADC?

As programers say: Strive to be lazy

Could there be a material that inverts the colours seen through it?

Does Lawful Interception of 4G / the proposed 5G provide a back door for hackers 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.8k14290462




      54.8k14290462










      asked May 2 at 15:46









      kevinnwhatkevinnwhat

      15217




      15217




















          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.7k43497




                  22.7k43497























                      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 May 3 at 7:27









                          ShankyShanky

                          15k32144




                          15k32144



























                              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

                              How to write a 12-bar blues melodyI-IV-V blues progressionHow to play the bridges in a standard blues progressionHow does Gdim7 fit in C# minor?question on a certain chord progressionMusicology of Melody12 bar blues, spread rhythm: alternative to 6th chord to avoid finger stretchChord progressions/ Root key/ MelodiesHow to put chords (POP-EDM) under a given lead vocal melody (starting from a good knowledge in music theory)Are there “rules” for improvising with the minor pentatonic scale over 12-bar shuffle?Confusion about blues scale and chords

                              What if the end-user didn't have the required library?What is setup.py?What is a clean, pythonic way to have multiple constructors in Python?What does Ruby have that Python doesn't, and vice versa?What is the reason for having '//' in Python?How do I create a namespace package in Python?How to package shared objects that python modules depend on?setuptools vs. distutils: why is distutils still a thing?Navigation in Windows 10 vs code not going to virtualenv library when the same library is installed at user levelPython create package for local usePackaging a project that uses multiple python versionsWhy is permission denied on pip install except for when “--user” is included at end of command?

                              Esgonzo ibérico Índice Descrición Distribución Hábitat Ameazas Notas Véxase tamén "Acerca dos nomes dos anfibios e réptiles galegos""Chalcides bedriagai"Chalcides bedriagai en Carrascal, L. M. Salvador, A. (Eds). Enciclopedia virtual de los vertebrados españoles. Museo Nacional de Ciencias Naturales, Madrid. España.Fotos