High RAM utilization on MSSQL2016 server

We have a separate application server and database server. We’ve noticed the RAM usage on MSSQL2016 constantly grows. The process is now consuming 49 GB of our 56 GB. I’m a bit worried that we’re going to run out of RAM and start swapping to disk(performance hit) so although I hate rebooting to fix problems that aren’t understood now is my chance before everyone logs on for the day…

I’d love to better understand if this situation is problematic and if so what others would look for to better understand what seems to be a memory leak, but maybe there is some mechanism for MSSQL to free up memory if other processes need it to prevent swapping to disk…?

image

SQL Server basically will use as much RAM as it can, by design. This improves query performance because so much information is cached in RAM.

You can set a ‘Max Server Memory’ setting in SQL Server to control how much it is able to consume.

3 Likes

“Working as intended” actually applies here.

1 Like

Thanks so much! We recently started monitoring our resources on our servers, and are notified when they exceed a given threshold in an attempt be more aware of warnings before we have problems, so this server has likely always had high RAM useage we’re just now aware because of the monitors :slight_smile:

That leads to a question of should we disable monitoring RAM usage on that server(currently get notified if usage exceeds 85%), or is there a better way to go about monitoring RAM usage(eg swapping to disk) with the intent of identifying warnings before they become problems?

1 Like

If you’re using SQL Sever Standard and the box has less than ~140GB of RAM then you definitely need to put a cap on the memory SQL can use, as @andrew.johnson mentioned. (SQL Server Standard can use up to 128GB of RAM, Enterprise can use as much as the server has)

56GB seems low for a SQL Server, but perhaps it’s enough for your environment. To give the OS and SSRS enough memory you may want to cap SQL around 44GB ish…

1 Like

Thanks! I’ll look into capping the RAM it can use.

In regards to amount of RAM, we can give it more RAM… It looks like Epicor recommends only 32 GB so thought we went above and beyond given we only have about 8 - 10 users at any given time. Would it speed things up if we allocated more RAM to the VM?

I’d guess you are fine as is for only 8-10 users… More RAM might be better in theory, but doesn’t mean it would translate into anything noticeable for an end user…

2 Likes