All we need is an easy explanation of the problem, so here it is.
Let us now briefly look at the techniques to size the memory.
1 GB of memory reserved for Operating System 1 GB each for every 4 GB
of RAM after the initial 4 GB, up to 16 GB of RAM 1 GB each for every
8 GB in more than 16 GB of RAM For example, if you have a 32 GB RAM
Database Server, then memory to be given to Operating System would be
1 GB, the minimum allocation
- 3 GB, since 16 GB – 4 GB = 12 GB; 12 GB divided by 4 GB (each 4 GB gets 1 GB) is 3GB.
- 2 GB, as 32 GB – 16 GB = 16 GB; 16 divided by 8 (each 8 GB after 16 GB gets 1 GB) is 2 GB So, in total, for a server with 32 GB of RAM, 7
GB will be reserved for the Operating System. This is the maximum
memory allocated to SQL Server should be 25 GB. Similarly, for a 64 GB
Server, 10 GB should be reserved for the Operating System & 54 GB
should be allocated for SQL Server.
What is the reasoning behind allocating the OS 1GB for each 4GB of RAM?
How to solve :
I know you bored from this bug, So we are here to help you! Take a deep breath and look at the explanation of your problem. We have many solutions to this problem, But we recommend you to use the first method because it is tested & true method that will 100% work for you.
I’d say ask the author, he’s got quite a complicated formula for calculating Memory allocation, IMO.
There’s a bunch of rule of thumbs out there on how much Memory to leave the OS hosting a SQL Server instance – they’re all pretty good. Brent Ozar’s starter rule of thumb is to allocate 4 GB or 10% of the total Memory, whichever is larger, as discussed in Memory Dangerously Low or Max Memory Too High. I usually follow this rule myself and haven’t had any issues with it.
Note: Use and implement method 1 because this method fully tested our system.
Thank you 🙂