1

We have a SAP installation running the main server with 35GB ram and the app server running with 65GB ram. From the operational system perspective the main server has a fixed allocation of 31GB ram dedicated to one application, leaving 4GB ram for the operational system (Windows 2012 R2 64bits). From this remaining 4GB ram it happens often that we use almost 100%. Several times I log into the system and see 300MB ram free.

From the application perspective, we never have major errors on the main server, because it has 31GB ram for free usage and it uses usually 40-60% from that. The app server has some peaks but usually not bigger than 80% usage, so I don't believe we have problems there.

But what should be the adequate amount of free memory for the main server to be ran in the perspective of the Windows operational system?

When verifying best practices, I found generic information for critical systems that defines a conservative treshold of 33% of maximum usage. Whenever reaching that amount, the capacity should be reviewed. I would assume this is more a capacity planning question, but it is rather technical. If the system is maxing out the memory usage, should I necessarily raise the memory available? To which levels should I raise the memory in this scenario? Should I simply trust a dinamic setting from the virtual machine application manager? Thank you.

1 Answers1

1

Well, as you probably know, memory requirements for servers vary depending on what's running on them. If I were you I would get rid of the fixed allocation/dedicated memory and let the OS and application share the memory pool.

4GB is a very small amount of RAM for modern operating systems, especially a windows server deployment with full GUI etc... granted that is server 2012, and it will run on 4gb without issue, I would add more RAM or remove some from the app memory allocation.

Minimum amount of RAM I would run a windows based server on is AT LEAST 8gb. Some of this is personal opinion, because you will find microsoft claiming the minimum RAM requirement to be 512 mb for server 2012 (I don't buy it, who in their right mind would do that).

boog
  • 220
  • 3
  • 11
  • Thanks for the fast answer. We run the mssql database on this Windows 2012 r2 instance. It is a requirement to have 31GB fixed. But nothing prevents me to keep that and enhance the OS memory rest. I just wanted to confirm my assumptions. – comebackhere Mar 02 '20 at 22:30
  • MSSQL will use all available RAM on the host system, unless you configure it not to. This is by design; generally, you want a DB to have all the RAM it might ever need. So, the fact that the host OS of a SQL server doesn't have much available RAM isn't a problem. There are SQL metrics that you can monitor that will tell you if SQL is actually experiencing RAM starvation. – mfinni Mar 02 '20 at 23:56
  • @comebackhere ah I didn't realize you're running mssql... if you have more memory slots available add more RAM for the OS... but I think you came to that conclusion yourself. – boog Mar 03 '20 at 14:54
  • @boog, do you guys know consequences of a Windows Server OS running out of memory? Currently we have 300MB or less and I wonder if there are any side effects that clearly state a problem of lack of memory. I need to create a better argument internally before I change the memory allocation. thanks! – comebackhere Mar 05 '20 at 14:02
  • @comebackhere yea, we run terminal services and all of our users log into terminal servers with their thin clients. These terminal servers run out of RAM occasionally depending on user load and we have to increase memory allocation. There isn't much of a consequence when memory utilization hits 100%, other than things freezing up/not working well... but if your server is running critical services, or a production application that utilizes the sql database, I would imagine you really don't want that to happen. – boog Mar 05 '20 at 17:46
  • @comebackhere there's no good reason why a production server shouldn't have more than enough memory installed and allocated to it- the fact that your server runs with less than 300MB of memory left over should be reason enough to convince whoever is in charge to add/buy more memory. – boog Mar 05 '20 at 17:47
  • @boog thanks for the feedback. i cannot disclose much about the scenario, but we are facing some inexplicable issues with a server that communicates to this one with little memory. and I identified hard faults due to lack of memory specially in peak moments and right after I log into the server. It was a bit hard to convince people to increase memory even though no real big price difference. many stakeholders takings rights of opinion in a not-complicated topic. the good news is that i was able to approve and increase the memory em +8 gigabytes. thanks again – comebackhere Mar 06 '20 at 18:18
  • @comebackhere oh nice, well glad my answer was helpful to you. I'd be interested to know if the problems subside. One thing though- unless all of these 'stakeholders' are technical people, they should not be having any say in the technical side of things- they should leave that entirely up to their admin... that's why they hired the admin in the first place. – boog Mar 06 '20 at 18:53