If I repeatedly notice SQL Server reporting a lot of free memory, can I likely remove about that amount of memory from the server without affecting performance? Or, can/should it use more for caching?
For this particular example, the server is running SQL Server 2012 Standard Edition on Windows Server 2012. It has 20 GB of physical memory and hosts over 100 GB of data. SQL Server is the only application running on the server.
SQLServer;Buffer Manager Buffer cache hit ratio 99.737 % Page life expectancy 874 s SQLServer:Memory Manager Database Cache Memory 6,744 MB Free Memory 5,937 MB Optimizer Memory 5 MB SQL Cache Memory 29 MB Target Server Memory 19,015 MB Total Server Memory 18,407 MB
-
2Did you check settings? It smells odd that a longer running server is not using this memory. UNless most of your data is never used, or the server was recently restarted (the sql service more specific) OR the memory is not used due to settings - that makes no sense.TomTom– TomTom2013年08月31日 14:30:05 +00:00Commented Aug 31, 2013 at 14:30
-
Have a look at my answer here -- that dealt with an overcommitted server, but some of the techniques can apply here as well.Jon Seigel– Jon Seigel2013年08月31日 22:34:18 +00:00Commented Aug 31, 2013 at 22:34
2 Answers 2
Your Page life expectancy counter is at 874 seconds. That isn't a lot. I'm guessing that the server isn't configured correctly, or something on the OS is taking the memory. Odds are this server could use more RAM to up the PLE.
If the server performing fine and there are no complains, I will leave this server alone. But, SQL Server tend to use as much memory as possible. Therefore you should check the configuration why the server not using the memory. Run some large queries to see, if the data cache get filled up. If you do not need these memory anywhere else, why would you want to reduce it?
I always use SQL Server Spotlight to diagnose my server. Download a trial version and use it for 30 days to analyze this server, unless you are comfortable with DMVs. I feel like SQL Server does not see your 20 GB of RAM.