I’ve encountered a curious situation with my Home Assistant setup that I’m hoping to get some clarity on. I have Home Assistant OS installed on a virtual machine within Proxmox, and there’s a noticeable discrepancy in RAM usage reporting between the Proxmox interface and the Home Assistant Supervisor hardware screen.
To illustrate this, I have attached two screenshots. The first screenshot from the Proxmox interface reports a memory usage of approximately 71.95% (roughly 4.32 GB of 6.00 GB). However, the second screenshot from the Home Assistant Supervisor’s hardware screen shows a much lower memory usage, around 1.1 GB of 6 GB, which is about 19.5%.
It’s perplexing to see such a significant difference in RAM usage reporting – Proxmox suggests that my VM is consuming more than 70% of the allocated memory, while Home Assistant Supervisor reports less than 20%.
Could someone please shed light on why this discrepancy exists? Does Proxmox account for memory allocation in a way that Home Assistant does not recognize, or is there a potential misconfiguration that I should look into?
I’m curious to know whether other members of the community have experienced similar observations and what the underlying cause might be. Any insights or explanations would be greatly appreciated.
The ressource usage you see in HA is for the HA container.
If you are running HAOS, then you for other container, which include the Supervisor, but also all the other addons you have add to HA, like Node Red, Mosquitto, Advanced SSH and telnet, and others.
Just a quick update on this: apparently, the real culprit here was the Zigbee2Mqtt addon. After changing to ZHA, my RAM usage on Proxmox has stabilized, using about the same as it was when I was running it on a RPI 3B+.
While the answer provided makes sense, I don’t think it fully accounts for the difference. I’m also using the Glances add-on, and with protection mode disabled it shows all containers and the system total. In my case Proxmox reports 93% of 8GB used, whereas Glances says 30%. I rebooted and Proxmox dropped to 50% for 12 hours but then went back up to 95% in 30 minutes. Since I’m using HAOS on the VM, there’s nothing but HA and addons running. Running “top” on the console agrees with Glances.
Searching the Proxmox forum suggests laying blame with Guest Additions, which I do have enabled. I disabled them and after a restart Proxmox now reports the memory as 50%, but I guess I have to wait another 12 hours to see if it just goes back up again. However even then, Glances shows 27%, so still there is a big difference.
Linux memory analysis has always been tricky, even for specialists.
Proxmox shows 2 figures about memory. The used (for any usage) memory, and the (totally) free memory.
But the used memory is roughly split in two categories.
The memory used by processes, kernel… that cannot be used for other purposes. That’s what HA GUI is showing.
And the memory allocated by the kernel for caching/buffering various information. It can be reclaimed at any time if needed, to launch a new process, to allocate more memory for an existing process…
the available (for new usage) memory is free + cache/buff memory. It’s more than the free memory.
So, don’t worry if free memory is low. The kernel hates unused (wasted) memory. So it uses it for caching and buffering.
But pay attention to available memory. If it’s low, it’s probably time to add memory to HAOS.