OK, here the premise: Customer is a Windows shop and their Ubuntu VMs always use 100% of their allocated memory (as per design) so they show up in "Red" on the memory usage charts. As we don't have access inside the VMs, the memory usage is measured externally by VMWare and Googling didn't give me any more insight as what I want to do is stupid.
It's also political: I've told them already that this is by design, the machines do not use much swap and removing the Ubuntu VMs from the report is not feasible, nor is setting the memory reporting limit to 100% and monitoring swap usage only as some sales guy accepted these KPIs in the contract, but unfortunately that's the info I need to be able to raise a change request with their external provider for these VMs, so posting a question here.
Is there a way of limiting the Kernel's memory manager to use only 75% of available RAM under normal circumstances and only use the remaining 25% when it's really needed? (E.g. for Disk caching)
I'd like the memory still to be available when it's really needed, but I'll take any answer...
What I tried already:
- Allocating a huge RAM disk and not using it: it's still allocated RAM... :-(
The only way I can think of is to tell the Kernel 25% of the memory is bad and not to use it.
This Unix & Linux Q&A has excellent instructions. Here is a snippet:
If there's bad RAM at 802M and 807M, you can disable a 10M section of RAM starting at 800M like this: