We ran into an issue today where a VMs memory usage was under 40% in turbonomic and vCenter, but oom killer was killing processes because of lack of memory. We had no recommendation to increase the VMs memory from turbonomic and or VM memory usage alarms from vCenter, but the VM was clearly struggling as you can see from the screenshots below.
vCenter performance monitoring shows low memory usage.
Turbonomic shows similar low memory usage.
Zabbix shows OS memory usage consistently over 80%.
The free command shows high memory usage and swapping is occurring which means there is insufficient memory for the OS.
Since vCenter active memory is an estimation, not actual usage, and was not intended to be used as a rightsizing counter how does turbonomics overcome this to accurately display memory usage and resource contention?