Home Assistant (HA) - VM beendet sich von selbst

  • Hallo zusammen, ich habe seit ein paar Tagen das Problem, dass sich 1 -2 mal am Tag die VM von Home-Assistant beendet wird. Es passiert zu unterschiedlichen Zeiten und ist nicht reproduzierbar. Es laufen 2 VM. Eine mit 3Gb Arbeitsspeicher und Home-Assistant mit 6Gb. Es sind 16Gb gesamt verbaut.aber was zum Teufel belegt so viel Speicher? Das ganze lief jetzt 1 Jahr problemlos. Bin mit meinem Latein am Ende. Hat jemand eine zündende Idee?

  • Hast du mal bei den Diensten bzw. Prozessen geschaut ob du dort den "Speicherfresser" findest?

    Bei mir wird ein Großteil des Speichers für den Cache benutzt (vom System aus)...

    DXP4800PLUS mit 3x 8TB (2xWD, 1x Seagate),1x 512GB SSD, 2TB NVM SSD, 8GB + 32GB RAM

  • Bei mir wird ein Großteil des Speichers für den Cache benutzt (vom System aus)...

    Der wird aber vom System freigegeben sobald eine Anwendung RAM Speicher benötigt.

    Meine Hardware

    iDX6011 Pro (64GB RAM) btrfs, 2x12 TB SG Enterpr. Raid1, 1x12TB SG Enterpr. Basic, 2x 2TB NVME Lexar NM790 Raid1,

    DXP2800 btrfs 1x 12TB WDRedPl, 16GB RAM Crucial CT16G56C46S5.C8B2, NVME 2x 500GB Samsg. 970 EVOPlus Raid1,

    DS1525+, btrfs 2x8TB WD, btrfs SHR, 1x 12 TB SG IronWolf, 1x 3TB WD RedPlus, 2x 2TB NVME Lexar NM790 Raid1, 40GB ECC RAM

    DS218+ btrfs 1x12TB WD, 1x SSD 500GB, RAM 20GB DDR4-2666MHZ

    USV US3000, EatonEllip.PRO 850DIN, Zyxel XMG-108 8 x 2,5GB, Zyxel GS1200-8 x 1GB,

  • Hast du mal bei den Diensten bzw. Prozessen geschaut ob du dort den "Speicherfresser" findest?

    Bei mir wird ein Großteil des Speichers für den Cache benutzt (vom System aus)...

    Sind nur die Dienste im Screenshot, aber die erklären es nicht. 8GB für die VM und der Rest sind ja nur jeweils paar 100 Mb. Aber gesamt ist fast der ganze Speicher verbraucht

  • Unter Linux ist nicht genutzer Speicher verlorener Speicher. Der Kernel nutzt ihn zum cachen nach Möglichkeit zu 100% aus. Das ist ganz normales Verhalten. wichtig ist daher nicht wie viel Speicher belegt ist sondern wie viel verfügbar ist.

    free -h: Zeigt den Status in einem gut lesbaren Format (z. B. MB oder GB) an. Achte auf die Spalte available – dies ist der Speicher, der sofort für neue Anwendungen zur Verfügung steht, ohne dass das System auf die Festplatte auslagern muss.

    Signatur ...

    DXP4800Pro
    Windows | Linux | Android | iOS
    Github

  • ist das jetzt aus der VM oder aus deinem NAS heraus? Ich gehe mal davon aus, dass es von NAS her ist. Dann ist die Rechnung ganze einfach. Lokaler RAM - reservierter RAM für die VMs - vom NAS verbrauchter RAM ergibt den freien RAM. Also nach Deinen Aussagen hast Du ja schon 9GB fest für die VMs reserviert. Dann bleiben bei 16GB gerade mal noch 7GB für das NAS. bleibt wohl grad ein GB übrig. Und die braucht es wohl.

    Auf Kernelebene kannst Du Dir das ganze genauer mit cat /proc/meminfo anschauen.

    Signatur ...

    DXP4800Pro
    Windows | Linux | Android | iOS
    Github

  • ist das jetzt aus der VM oder aus deinem NAS heraus? Ich gehe mal davon aus, dass es von NAS her ist. Dann ist die Rechnung ganze einfach. Lokaler RAM - reservierter RAM für die VMs - vom NAS verbrauchter RAM ergibt den freien RAM. Also nach Deinen Aussagen hast Du ja schon 9GB fest für die VMs reserviert. Dann bleiben bei 16GB gerade mal noch 7GB für das NAS. bleibt wohl grad ein GB übrig. Und die braucht es wohl.

    Auf Kernelebene kannst Du Dir das ganze genauer mit cat /proc/meminfo anschauen.

    Das stimmt wohl, aber bisher gab es nie Probleme. Jetzt kriege ich die VM nicht Mal mehr gestartet, weil mehr RAM vergeben ist als verfügbar. Ist auch nur durch einen Neustart zu beheben, wenn ich den Speicher nicht runtersetzen will. Vielleicht liegt das beenden auch nicht daran, und ich suche an der verkehrten Stelle. Aber ich habe keine Idee, was es noch sein könnte. Bin da auch nicht der Profi.

  • Naja, früher nützt da nicht mehr viel, der aktuelle Zustand gibt her, daß eindeutig zuwenig RAM verbaut ist. Du solltest mal überlegen und überprüfen ob Du den VMs sovviel RAM fest vergeben mußt. zb. ( 8GB entspricht eher einer Win11 VM und da bleiben ca 3 GB übrig.

    Meine Hardware

    iDX6011 Pro (64GB RAM) btrfs, 2x12 TB SG Enterpr. Raid1, 1x12TB SG Enterpr. Basic, 2x 2TB NVME Lexar NM790 Raid1,

    DXP2800 btrfs 1x 12TB WDRedPl, 16GB RAM Crucial CT16G56C46S5.C8B2, NVME 2x 500GB Samsg. 970 EVOPlus Raid1,

    DS1525+, btrfs 2x8TB WD, btrfs SHR, 1x 12 TB SG IronWolf, 1x 3TB WD RedPlus, 2x 2TB NVME Lexar NM790 Raid1, 40GB ECC RAM

    DS218+ btrfs 1x12TB WD, 1x SSD 500GB, RAM 20GB DDR4-2666MHZ

    USV US3000, EatonEllip.PRO 850DIN, Zyxel XMG-108 8 x 2,5GB, Zyxel GS1200-8 x 1GB,

  • Ich hätte das mal als ich mal das "@docker" Verzeichnis sichern wollte...

    Beim Kopieren, nach sehr langer Zeit, waren dann auf einmal die VMs runtergefahren...

    Da war wohl das System ein bisschen "überfordert" 😉

    DXP4800PLUS mit 3x 8TB (2xWD, 1x Seagate),1x 512GB SSD, 2TB NVM SSD, 8GB + 32GB RAM

  • Danoro73

    Du meldest Dich hier mit der bitte um Hilfe, aber ich kann nicht entdecken, daß Du die Hilfe welche hier Dir angeboten wird nicht annimmst.

    Wild umeinander Probieren hilft dagegen überhaupt nichts. Setze Dich mit dem Thema RAM besser auseinander, dann verstehst Du die Tips welche Dir hier gegeben werden vielleicht besser.

    Meine Hardware

    iDX6011 Pro (64GB RAM) btrfs, 2x12 TB SG Enterpr. Raid1, 1x12TB SG Enterpr. Basic, 2x 2TB NVME Lexar NM790 Raid1,

    DXP2800 btrfs 1x 12TB WDRedPl, 16GB RAM Crucial CT16G56C46S5.C8B2, NVME 2x 500GB Samsg. 970 EVOPlus Raid1,

    DS1525+, btrfs 2x8TB WD, btrfs SHR, 1x 12 TB SG IronWolf, 1x 3TB WD RedPlus, 2x 2TB NVME Lexar NM790 Raid1, 40GB ECC RAM

    DS218+ btrfs 1x12TB WD, 1x SSD 500GB, RAM 20GB DDR4-2666MHZ

    USV US3000, EatonEllip.PRO 850DIN, Zyxel XMG-108 8 x 2,5GB, Zyxel GS1200-8 x 1GB,

  • Dafür mit noch mehr RAM überhaupt nicht, weil Dein System abstürzt.

    Meine Hardware

    iDX6011 Pro (64GB RAM) btrfs, 2x12 TB SG Enterpr. Raid1, 1x12TB SG Enterpr. Basic, 2x 2TB NVME Lexar NM790 Raid1,

    DXP2800 btrfs 1x 12TB WDRedPl, 16GB RAM Crucial CT16G56C46S5.C8B2, NVME 2x 500GB Samsg. 970 EVOPlus Raid1,

    DS1525+, btrfs 2x8TB WD, btrfs SHR, 1x 12 TB SG IronWolf, 1x 3TB WD RedPlus, 2x 2TB NVME Lexar NM790 Raid1, 40GB ECC RAM

    DS218+ btrfs 1x12TB WD, 1x SSD 500GB, RAM 20GB DDR4-2666MHZ

    USV US3000, EatonEllip.PRO 850DIN, Zyxel XMG-108 8 x 2,5GB, Zyxel GS1200-8 x 1GB,

  • Weil Home Assistant bei mir mit 4GB bescheiden läuft.

    RAM ist halt nicht wie ein Kredit von der Sparkasse. HIer gilt Du kannst Du das verbrauchen was Du auch hast! Und wenn Du mehr nimmst, dann nimmst Du es jemand anderem (Deinem NAS) weg. Dann schreit das NAS "Hey Du Dieb und wirft ihm beim rennen einen Knüppel" zwischen die Beine und Deine VM fällt auf die Schnauze. Es startet halt nicht mehr weil das Betriebssystem vom NAS sich zuerst nimmt was es braucht.

    Signatur ...

    DXP4800Pro
    Windows | Linux | Android | iOS
    Github

  • Danoro73

    Du meldest Dich hier mit der bitte um Hilfe, aber ich kann nicht entdecken, daß Du die Hilfe welche hier Dir angeboten wird nicht annimmst.

    Wild umeinander Probieren hilft dagegen überhaupt nichts. Setze Dich mit dem Thema RAM besser auseinander, dann verstehst Du die Tips welche Dir hier gegeben werden vielleicht besser.

    Was heißt denn keine Hilfe annehmen? Ich habe doch schon probiert, den Ram runter zu setzen, und HA läuft wie auf einem Pi 3. Das nützt mir aber nix. Was will ich mit einem System, dass nicht funktioniert? Zumal es 1 Jahr ohne mucken lief. Aber scheinbar kann ich das wohl abhaken 😔

  • Fazit, mit RAM Haushalten oder RAM aufstocken

    Meine Hardware

    iDX6011 Pro (64GB RAM) btrfs, 2x12 TB SG Enterpr. Raid1, 1x12TB SG Enterpr. Basic, 2x 2TB NVME Lexar NM790 Raid1,

    DXP2800 btrfs 1x 12TB WDRedPl, 16GB RAM Crucial CT16G56C46S5.C8B2, NVME 2x 500GB Samsg. 970 EVOPlus Raid1,

    DS1525+, btrfs 2x8TB WD, btrfs SHR, 1x 12 TB SG IronWolf, 1x 3TB WD RedPlus, 2x 2TB NVME Lexar NM790 Raid1, 40GB ECC RAM

    DS218+ btrfs 1x12TB WD, 1x SSD 500GB, RAM 20GB DDR4-2666MHZ

    USV US3000, EatonEllip.PRO 850DIN, Zyxel XMG-108 8 x 2,5GB, Zyxel GS1200-8 x 1GB,

  • Trotzdem Danke für eure Hilfe.

    Gerne doch!

    Meine Hardware

    iDX6011 Pro (64GB RAM) btrfs, 2x12 TB SG Enterpr. Raid1, 1x12TB SG Enterpr. Basic, 2x 2TB NVME Lexar NM790 Raid1,

    DXP2800 btrfs 1x 12TB WDRedPl, 16GB RAM Crucial CT16G56C46S5.C8B2, NVME 2x 500GB Samsg. 970 EVOPlus Raid1,

    DS1525+, btrfs 2x8TB WD, btrfs SHR, 1x 12 TB SG IronWolf, 1x 3TB WD RedPlus, 2x 2TB NVME Lexar NM790 Raid1, 40GB ECC RAM

    DS218+ btrfs 1x12TB WD, 1x SSD 500GB, RAM 20GB DDR4-2666MHZ

    USV US3000, EatonEllip.PRO 850DIN, Zyxel XMG-108 8 x 2,5GB, Zyxel GS1200-8 x 1GB,

  • HA läuft wie auf einem Pi 3.

    wie viele Entitäten und INtegrationen hast Du denn laufen? HAS ist normalerweise sehr ramfreundlich. Aufräumen könnte hier helfen vor allem wenn viele unnötige Datenbanken laufen die können schnell RAM ohne Ende verbrauchen. Manchmal kann auch der fehlerhafte LOG einer Automatisierung Megabytweise Daten erzeugen. Da würde ich mal ansetzen. Das drückt den RAM Verbrauch drastisch runter.

    siehe:

    Display Spoiler

    Ein zu hoher RAM-Verbrauch in Home Assistant kann das System verlangsamen oder sogar zum Absturz bringen, besonders auf Geräten mit begrenzten Ressourcen wie einer VM

    Hier sind die faktenbasierten und in der Praxis bewährten Schritte, um den Flaschenhals zu finden und den Speicherbedarf zu minimieren.

    1. Analyse: Herauszufinden, was den RAM verbraucht

    Bevor du Änderungen vornimmst, solltest du prüfen, ob der Kern (Home Assistant Core), die Datenbank oder bestimmte Add-ons das Problem sind.

    • Das "Glances" Add-on nutzen: Das ist das beste Werkzeug für die Analyse. Du findest es im Add-on Store. Es zeigt dir ähnlich wie der Task-Manager in Windows genau an, welcher Container und welcher Prozess wie viel CPU und RAM benötigt. Achte hier besonders auf Prozesse wie python3 (das ist meist der HA Core), mariadb oder node-red.
    • Systemmonitor Integration aktivieren: Füge die offizielle Integration "Systemmonitor" hinzu. Sie erstellt Entitäten für die RAM- und CPU-Auslastung. So kannst du dir den Verlauf als Diagramm anzeigen lassen und prüfen, ob der RAM-Verbrauch stetig ansteigt (was auf ein Memory Leak hindeutet) oder nach einem Neustart sofort hoch ist.
    • Die Profiler-Integration (Für Fortgeschrittene): Wenn der Home Assistant Core selbst das Problem ist, kannst du in der configuration.yaml den Eintrag profiler: hinzufügen. Danach kannst du unter "Entwicklerwerkzeuge" -> "Dienste" den Dienst profiler.memory ausführen. Dies erstellt eine detaillierte Datei im Config-Ordner, die zeigt, welche Python-Objekte den Speicher blockieren.

    2. Maßnahmen: Den RAM-Verbrauch senken

    Basierend auf den Analyseergebnissen sind dies die effektivsten Stellschrauben, um den Speicherbedarf massiv zu reduzieren:

    A. Den Recorder (Datenbank) optimieren Home Assistant speichert standardmäßig jeden Statuswechsel jeder Entität für 10 Tage. Das bläht die Datenbank auf und kostet viel Arbeitsspeicher, besonders bei Sensoren, die sich sekündlich aktualisieren (z. B. Stromzähler, CPU-Sensoren, Uhrzeiten). Du kannst dies in der configuration.yaml einschränken:

    YAML


    Tipp: Nutze exclude, um "gesprächige" Sensoren von der Historie auszuschließen, die du ohnehin nicht in Langzeitdiagrammen benötigst.

    B. Add-ons prüfen und ausmisten Jedes laufende Add-on ist ein eigener Docker-Container, der eigenen RAM benötigt.

    • ESPHome: Das Kompilieren von ESP-Firmware benötigt extrem viel RAM. Wenn das System beim Update von ESPHome-Geräten abstürzt, stoppe andere Add-ons temporär während des Kompilierens.
    • Stoppe Add-ons, die du nur selten nutzt (z. B. Samba Share, SSH & Web Terminal, Studio Code Server), und starte sie nur bei Bedarf.

    C. HACS und Custom Components überprüfen Inoffizielle Integrationen aus dem Home Assistant Community Store (HACS) sind die häufigste Ursache für "Memory Leaks" (Speicherlecks, bei denen RAM belegt, aber nicht wieder freigegeben wird).

    • Deaktiviere testweise alle HACS-Integrationen, starte neu und beobachte den RAM für 24 Stunden.
    • Prüfe in den GitHub-Repositories deiner genutzten Custom Components, ob andere Nutzer von RAM-Problemen berichten.

    D. Kamera-Streams und Preload deaktivieren Wenn du Kameras in Home Assistant eingebunden hast, benötigen diese oft einen permanenten Puffer im Arbeitsspeicher, besonders wenn die Option "Preload stream" (Stream vorab laden) in den Kamera-Karten auf dem Dashboard aktiviert ist. Deaktiviere diese Funktion, wenn du die Kameras nicht ständig in Echtzeit überwachen musst.

    Signatur ...

    DXP4800Pro
    Windows | Linux | Android | iOS
    Github

Participate now!

Join our community with over 10,000 members!

Register yourself now for free to get full access to all content, graphics, downloads and other exclusive features!