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

How can a "proper" function have a vertical slope?

Can you take an Immortal Phoenix out of the game?

Using Terminal` (ASCII plots) in Wolfram 12

Perform a predetermined set of operations on a large sequence

What's the current zodiac?

Can digital computers understand infinity?

Why are KDFs slow? Is using a KDF more secure than using the original secret?

Proofreading a novel: is it okay to use a question mark with an exclamation mark - "?!"

'Pound' meaning in this context

Why "come" instead of "go"?

'The Kukhtarev's model' or 'Kukhtarev's model' ('John's car' or 'The John's car')?

d-Menthol vs dl-menthol: Does an enantiomer and its racemic mixture have different melting points?

Dynamics m, r, s, and z. What do they mean?

Where does the tea come from?

Displaying characteristics of the Hero in a console game

Is it now possible to undetectably cross the Arctic Ocean on ski/kayak?

Can I get bubble tea at Taiyuan airport?

Is a light year a different distance if measured from a moving object?

What is the name for a fluid transition between two tones? When did it first appear?

"A tin of biscuits" vs "A biscuit tin"

counter in hexadecimal base

What is this game with a red cricket pushing a ball?

Source for "no Yetzer Harah when a Torah Scroll is opened/read"?

Why does 1.1.1.1 not resolve archive.is?



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



      share|improve this question








      edited May 2 at 21:57









      Paul White

      60k16 gold badges311 silver badges490 bronze badges




      60k16 gold badges311 silver badges490 bronze badges










      asked May 2 at 15:46









      kevinnwhatkevinnwhat

      1,1321 gold badge1 silver badge11 bronze badges




      1,1321 gold badge1 silver badge11 bronze badges























          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/4.0/"u003ecc by-sa 4.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



                  share|improve this answer










                  answered May 2 at 16:05









                  Joe ObbishJoe Obbish

                  24.6k4 gold badges40 silver badges107 bronze badges




                  24.6k4 gold badges40 silver badges107 bronze badges


























                      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



                          share|improve this answer










                          answered May 3 at 7:27









                          ShankyShanky

                          15.6k4 gold badges25 silver badges47 bronze badges




                          15.6k4 gold badges25 silver badges47 bronze badges































                              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

                              Tamil (spriik) Luke uk diar | Nawigatjuun

                              Align equal signs while including text over equalitiesAMS align: left aligned text/math plus multicolumn alignmentMultiple alignmentsAligning equations in multiple placesNumbering and aligning an equation with multiple columnsHow to align one equation with another multline equationUsing \ in environments inside the begintabularxNumber equations and preserving alignment of equal signsHow can I align equations to the left and to the right?Double equation alignment problem within align enviromentAligned within align: Why are they right-aligned?

                              Training a classifier when some of the features are unknownWhy does Gradient Boosting regression predict negative values when there are no negative y-values in my training set?How to improve an existing (trained) classifier?What is effect when I set up some self defined predisctor variables?Why Matlab neural network classification returns decimal values on prediction dataset?Fitting and transforming text data in training, testing, and validation setsHow to quantify the performance of the classifier (multi-class SVM) using the test data?How do I control for some patients providing multiple samples in my training data?Training and Test setTraining a convolutional neural network for image denoising in MatlabShouldn't an autoencoder with #(neurons in hidden layer) = #(neurons in input layer) be “perfect”?