free -h
instead of top or htop.Monitor from the guestOS over some days how much RAM is "available" inside the VM. Check the biggest spike in RAM usage and if at that time there is still plenty on RAM available, you can lower the amount of RAM you assign to that VM.In other words, which of these values should I use to decide if I can reduce the amount of memory assigned to VM?
Monitor from the guestOS over some days how much RAM is "available" inside the VM. Check the biggest spike in RAM usage and if at that time there is still plenty on RAM available, you can lower the amount of RAM you assign to that VM.
You basically want to assign VMs as less RAM as possible but not so low that processes get killed by OOM.
That would be the manual way. I run the zabbix agent inside each VM and that monitors the RAM usage (and hundreds of other metrics) every minute and sends it to the zabbix server that is then collecting it and printing it as nice graphs and will allow me to see the min/avg/max values of "available" RAM (the same thing that is reported by "free -h") over a period I define:So, if I have understood it right, the key value is "free -h" and see the available value several times in different situations. In some way, almost all that memory could be reduced from memory allocation in VM configuration.
Thank you, I'll try itThat would be the manual way. I run the zabbix agent inside each VM and that monitors the RAM usage (and hundreds of other metrics) every minute and sends it to the zabbix server that is then collecting it and printing it as nice graphs and will allow me to see the min/avg/max values of "available" RAM (the same thing that is reported by "free -h") over a period I define:
View attachment 66952
Good idea to have some proper monitoring set up. Not only to be able to make better decisions based on long term metrics but also to get notification in case something isn't behaving as it should. It for example would warn me early in case any VM is getting low on available RAM so I can fix stuff and search for memory leaks or whatever before some services get killed.