We are currently experiencing failures on our SQL Server machines.
It appears that once a server on the same (VMWare) host as our SQL Servers starts a maintenance procedure.
The SQL Servers will balloon, loose nearly all of their memory.
What I would expect next is for the SQL Server to receive back its memory after the maintenance window.
However this never happens, the SQL Server will remain at bottom memory until we force a reboot.
Above you can see that the ballooning (black line) starts and ends during our maintenance window.
But the consumed memory does not go back to its expected levels.
The next morning we are forced to reboot, at which time the memory goes back up.
This reboot has to be done through the Vsphere, as the machine is completely unresponsive and we are unable to log in on it.
We've responded by setting memory reservation on all our production machines.
However for our STG and DEV machines there simply isn't enough memory in our infrastructure to reserve everything.
What would be a way to resolve our issue without overtaxing our VMware environment?
What is the reason that SQL Server is unable to get back its lost memory without a reboot?
I was thinking of reserving 4GB of memory for each SQL Server, to make sure that a minimum of working memory is available at all times.
However without a proper reason for this reservation, I can't justify asking for it.