EDIT: Realised after I posted that you’re on proxmox (as am I).
Ignore that value you see in the node page. It’s just the way proxmox reports/uses RAM and nothing to do with HA.
If you want to know how much RAM HA is actually using, use the System Monitor Integration, though I can’t remember whether the RAM reported there also includes addons
I can increase the hardware settings in here, the issue is: it never stop growing.
I restarted the VM because the whole thing was a little unstable, but next time I’ll try to take a look on it.
Thanks!
Coral TPU is a really nice thing, but a little to much ($$$) for me at the moment, so I have to deal with it in other ways…
But thanks for the tips, I will keep close eyes on those guys!
HA probably using that much RAM. I don’t recall the particulars, but I noticed the same thing and vaguely recall it has something to do with how Proxmox pulls the memory usage for HA.
Case in point, Proxmox is showing 7.6/8 GB memory usage for me, but HA is only showing 3.3 GB in use.
I was just thinking on something… The memory which is shown in System Monitor counts with the Addons?
As far as I know, the Addons and other custom integrations runs in a separated docker container. So the System Monitor shows the only HA usage or the whole system (including Addons and etc.)?
I use the following markdown card to give an overview of addon resource usage. Within the code you can set it to sort by CPU or Memory usage. Light grey addon names are ones that are not running. Requires System Monitor to be loaded.
This card looks like exactly what I want but I can’t seem to get it to display the same way as your screenshot, would you be able to confirm if this is still working for you and the code as provided is what you’re still using?
Thanks, that worked for me with some small modifications to entity names and then enabling the relevant entities for all the addons so the table could be built. It looks like System Resources uses slightly different entity names by default now so just to help anyone else setting it up from scratch, this worked perfectly for me:
type: markdown
content: >
| Temp | % CPU | 1m | 5m | 15m |
|:----|----:|----:|----:|----:|
| {{states('sensor.system_monitor_processor_temperature') }} C |
{{states('sensor.system_monitor_processor_use') }}% |
{{states('sensor.system_monitor_load_1_min')}} |
{{states('sensor.system_monitor_load_5_min')}} |
{{states('sensor.system_monitor_load_15_min')}} |
|
|
| Entities (enabled): | {{ states | count }} |
|
| {{' ' * 10}} | {{' ' * 10}} | {{' ' * 10}} | {{' ' *
10}} | {{' ' * 10}} |
{% set ns = namespace(_list=[]) %}
{% set always_on = ['home_assistant_core', 'home_assistant_supervisor'] %}
{% set total_mem = states('sensor.system_monitor_memory_use') | float(0) +
states('sensor.system_monitor_memory_free') | float(0) %}
{%- for s in states.sensor if "_cpu_percent" in s.entity_id %}
{%- set base = s.entity_id | replace("_cpu_percent","")
| replace("sensor.","") %}
{% set running ='on' if base in always_on else states('binary_sensor.'~base~'_running') %}
{% set update = (states('sensor.'~base~'_newest_version') if (states('update.'~base~'_update') == 'on' and has_value('sensor.'~base~'_version')) else ' ') | string %}
{% set update = ' test' %}
{# Build dynamic dict. Convert number values to float to enable sorting #}
{%- set _dict =
{
"base": base,
"entity": s.entity_id,
"cpu": (s.state | float(0)),
"memory": (states('sensor.'~base~'_memory_percent') | float(0)),
"memory_mb": total_mem * (states('sensor.'~base~'_memory_percent') | float(0)) / 100,
"version": states('sensor.'~base~'_version'),
"update" : update,
"running": running
} %}
{# Add dict to our list #}
{%- set ns._list = ns._list + [_dict] %}
{%- endfor %}
`
{% set sortkey='cpu' %}
| Addons | % CPU | % Memory | MB | Update |
|:----|----:|----:|----:|:----|
{%- for s in (ns._list
| sort(attribute=sortkey, reverse=true)
) %}
{{ '<font color=LightGray>' if s.running != 'on' -}}
{{ (" %s | %6.2f | %10.2f | %12.2f | %s " % (s.base[:40], s.cpu, s.memory,
s.memory_mb, '')) -}}
{{ '</font>' if s.running != 'on' -}}
{%- endfor %}
| {{' ' * 50}} | {{' ' * 20}} | {{' ' * 25}} | {{' ' *
25}} | {{' ' * 30}} |
title: Resources
grid_options:
columns: full
The System Monitor entities are disabled by default, go ahead and check the docs here and they link out to how to enable entities. As for what to enable, look through the code block for the entities that are referenced (all the sensor.entity_name bits). For individual addons you can choose whether or not to enable them or you can just do a batch change to turn them all on.
The ones that might be not immediately obvious are the lines that iterate through the various addon names and add, for example, _memory_percent to the end of the entity name to determine the final entity name.
I recognize this doesn’t spell it out entirely but that’s partly because it’s going to depend on your system setup. Feel free to ask if something still isn’t clear.