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