Skip to content

High memory usage reported by Proxmox in HAOS 16.2 VM despite low actual usage #4341

@kitopopo

Description

@kitopopo

Describe the issue you are experiencing

I am running Home Assistant OS 16.2 inside a KVM virtual machine on Proxmox, with an initial allocation of 8 GB of RAM. Over time, I have had to incrementally increase the RAM assigned to the VM—first from 8 GB to 12 GB, and then from 12 GB to 16 GB—because the Pulse monitoring system consistently reports high memory usage, triggering alarms.

Despite these alerts, internal system metrics indicate that the actual memory used by Home Assistant is significantly lower than what Proxmox or Pulse report.

Most of the memory is used for disk cache, which is fully reclaimable by the system when needed.

This situation appears to have developed gradually, update after update, and the discrepancy between memory reported by Proxmox and actual usage inside Home Assistant has persisted across multiple system versions. Notably, this behavior matches an existing issue that is restricted to collaborators: [HAOS in Proxmox VM - Memory Cache never being released (#2999). Because that issue is restricted, it is important to document and track additional instances like this.

Given the above, it is clear that the high memory usage reported by Proxmox and Pulse is primarily due to Linux using memory for disk caching, which does not represent a real resource constraint. However, the repeated alerts and incremental increases in assigned RAM suggest that monitoring systems may be misinterpreting cache memory as actual usage.

I am submitting this issue to document the behavior, seek confirmation from the Home Assistant team or community, and track potential improvements in how memory usage is reported in HAOS VMs running on Proxmox.

What operating system image do you use?

generic-x86-64 (Generic UEFI capable x86-64 systems)

What version of Home Assistant Operating System is installed?

16.2

Did the problem occur after upgrading the Operating System?

Yes

Hardware details

This Home Assistant OS 16.2 instance is running inside a virtual machine on Proxmox VE (KVM). The hardware details are as follows:

Hypervisor: Proxmox VE (KVM)
VM RAM: 16 GiB (initially 8 GiB, increased to 12 GiB, then 16 GiB due to memory alerts)
vCPUs: 4 (assigned to the VM)
Disk: 30.8 GiB virtual disk
Disk used: 16.1 GiB
CPU architecture: x86-64 (Intel/AMD)
Host CPU: Intel/AMD processor (model depends on the physical server)
Host RAM: ≥32 GiB (enough to allocate 16 GiB to VM without pressure)
USB devices: None attached to the VM

Observation: The system is a virtual machine, so all hardware is virtualized. The reported high memory usage is observed in monitoring tools (Pulse / Proxmox) but is not reflected in the VM itself, as most RAM is used for disk cache and is fully reclaimable.

Steps to reproduce the issue

Deploy Home Assistant OS 16.2 in a KVM virtual machine on Proxmox, initially allocating 8 GB of RAM.

Monitor memory usage using Pulse or Proxmox’s built-in monitoring tools.

Apply regular HAOS updates over time.

Observe that, after several updates, Pulse or Proxmox report high memory usage and trigger alarms, despite internal metrics in HAOS (free -h, /proc/meminfo) showing low actual RAM usage (~2–3 GiB).

Incrementally increase VM RAM (e.g., from 8 GB → 12 GB → 16 GB) as suggested by monitoring alerts.

Observe that the reported “high memory usage” persists even though most RAM is used for disk cache and is fully reclaimable by the system.

Note: This issue develops gradually across updates and is not triggered by a single action. It is related to Linux memory caching behavior being interpreted as high usage by monitoring tools.

Anything in the Supervisor logs that might be useful for us?

total        used        free      shared  buff/cache   available
Mem:            15Gi       2.2Gi       1.8Gi       5.7Mi        11Gi        13Gi
Swap:          5.2Gi          0B       5.2Gi

MemTotal:       16377168 kB
MemFree:         1851340 kB
MemAvailable:   14036148 kB
Buffers:          328284 kB
Cached:         11344044 kB
SwapCached:            0 kB
Active:          3318800 kB
Inactive:       10332136 kB
Active(anon):    1975908 kB
Inactive(anon):        0 kB
Active(file):    1342892 kB
Inactive(file): 10332136 kB
Unevictable:        4000 kB
Mlocked:               0 kB
SwapTotal:       5404460 kB
SwapFree:        5404460 kB

Anything in the Host logs that might be useful for us?

agent_version: 1.7.2
apparmor_version: 3.1.7
boot_timestamp: 1758902532939785
broadcast_llmnr: true
broadcast_mdns: true
chassis: vm
cpe: cpe:2.3:o:home-assistant:haos:16.2:*:production:*:*:*:ova:*
deployment: production
disk_free: 13.4
disk_total: 30.8
disk_used: 16.1
dt_synchronized: true
dt_utc: "2025-10-07T07:34:15.494511+00:00"
hostname: homeassistant
kernel: 6.12.43-haos
operating_system: Home Assistant OS 16.2
virtualization: kvm

System information

Home Assistant OS: 16.2
Kernel: 6.12.43-haos
Virtualization: KVM
Disk total: 30.8 GiB
Disk used: 16.1 GiB
Agent version: 1.7.2
AppArmor version: 3.1.7
Timezone: Europe/Madrid
Chassis: VM
Boot timestamp: 1758902532939785
Broadcast LLMNR: true
Broadcast mDNS: true
Deployment type: Production
Hostname: homeassistant
dt synchronized: true
dt UTC: 2025-10-07T07:34:15.494511+00:00

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions