Speicher (RAM) läuft voll

Hallo,
ich betreibe Pi Hole in einem Debian 8 Docker Container auf einer Qnap NAS.
Alles funktioniert problemlos bis auf den Speicherverbrauch.

Der Speicherverbrauch (Ram) steigt im Verlauf einiger Tage kontinuierlich an.
Das geht soweit, bis PiHole nicht mehr funktioniert.
Dann muss der Container neugestartet werden, um Pi Hole wieder zum leben zu erwecken.

Pi Hole ist aktuell (Pi-hole Version v3.2.1 Web Interface Version v3.2.1 FTL Version vDev (v2.13.2 , v2.13.2 ))

Ein Speicher Problem wurde hier ja bereits berichtet.

Allerdings wurde das Problem mit einem Update angeblich behoben.
Leider funktioniert es offenbar nicht für meine Installation.

Momentan muss ich den Container regelmäßig neustarten um den Speicherverbrauch zu nullen.
Ein Restart aus Pi Hole heraus hat keinen Einfluss.

Es wäre schön, wenn mir jemand einen Tipp geben kann, wie das Problem gelöst werden kann.

Zum Test habe ich bereits die Long Term Data abgeschaltet, wie es in der FAQ beschrieben ist. Das hat ebenfalls keinen Einfluss.

Die Long Term Database liegt lediglich auf der Festplatte, einen Einfluss auf die Arbeitsspeicherentwicklung hat sie nicht.

Das Problem wurde definitiv und nachweislich endgültig behoben - was aber nicht heißt, dass es noch ein anderes geben könnte, das uns noch nicht aufgefallen ist. Während unsere automatisierten Testabläufe versuchen eine Menge Standardsituationen durch zu probieren, haben wir erst gestern bspw. einen Nutzer gesehen, der auf seinem Pi-hole mehr als 1000 recht aktive Clienten hat. Solche Extremsituationen decken wir mit unseren Tests nicht ab.

Erstmal müssen wir abklären wo das Problem herkommt. Wenn der Speicherverbrauch hoch ist, bitte einmal nacheinander folgende Befehle ausführen und schauen welcher beim Speicherverbrauch hilft:

sudo service dnsmasq restart
sudo service lighttpd restart
sudo service pihole-FTL restart

Danke für die schnelle Antwort!
Ich habe die 3 Befehle eingegeben.
Mit sudo gibt es leider nur eine Fehlermeldung -> sudo: unable to resolve host debian-jessie-1
Ohne sudo gibt es zumindest eine kleine Verzögerung, bis die Eingabeaufforderung in die nächste Zeile springt.
Auf die Speicherauslastung hat es keinen Einfluss.
Aktuell 54,4%

Okay, dann kommt sie vermutlich gar nicht von Pi-hole sondern von irgendwas anderem. Bitte führe den Prozessmanager aus:

top

und drück dann M (groß M, also Shift + M) und mach davon irgendwie einen Screenshot oder so.

Dieser Ausgabe nach sind nur wenige Prozent belegt (dnsmasq ist der Spitzenreiter mit 1.4% Speichernutzung) - da stimmt irgendwo was nicht. Kannst Du dieses Fenster vergrößern und es noch mal probieren? Vielleicht ist etwas entscheidendes abgeschnitten worden.

Das Fenster lässt sich leider nicht weiter vergrößern.
Allerdings scheint der dnsmasq schon die oberste Zeile zu sein. Mit den Pfeiltasten kann man die Prozesse nicht weiter nach unten verschieben, nur nach oben. Über dnsmasq kommt nichts mehr.

Okay, ich werde Rücksprache diesbezüglich im Team halten.

Danke für die Unterstützung!

Ich habe das Problem mit der "sudo: unable to resolve host debian-jessie-1" Fehlermeldung gelöst und die 3 Befehle neu eingegeben. --> Gleiches Ergebnis, kein Einfluss auf die Speicherauslastung.

Kein Problem.

Erste Rückfrage: Was ist die Ausgabe von

docker stats

?

Aktuell nur eine leere Anzeige.
Vermutlich mache ich etwas falsch.

Es scheint so als ob was mit Deiner Installation von docker nicht Okay ist... mehr lässt sich zur Zeit wohl nicht aussagen. Kannst Du docker neu installieren?

Okay, leider lässt sich die "Container Station", also die Docker Software von Qnap nur Installieren oder Deinstallieren. Es gibt, soweit ich weiß keine Möglichkeit etwas zu verändern. Vielleicht "weiß" ich ja morgen mehr :slight_smile:

Die Anwendungsverwaltung der NAS sagt folgendes:

Ob die 3,8GB normal sind, weiß ich nicht. Ich hatte für Pi Hole max 4GB RAM freigegeben.

Eine Neuinstallation werde ich später versuchen. Allerdings ist das schon der 2. Versuch. Pi Hole läuft nicht out of the box im Container.

  • Wenn Du einfach einen andern Container laufen lässt (also ohne Pi-hole) gibt es das Problem dann auch?

Bitte mach mal ein

df -h

im laufenden Container. Vielleicht schreibt Dein Container ein paar Verzeichnisse wie /var/log in den Arbeitsspeicher. Da Du sagst

könnte es sein, dass irgendwas nicht korrekt ist und tausendfach Fehlermeldungen in irgendeine Log-Datei geschrieben werden.

Ich habe die Container Station deinstalliert und neu installiert. Dazu wie vorher auch den Debian 8 Container aus dem Docker Hub. Darin läuft nun wieder Pi Hole.
Zum testen habe ich den gleichen Container ohne Pi Hole eingerichtet. Mal sehen ob Unterschiede sichtbar werden.

df -h

im Pi Hole Container bringt folgende Ausgabe:
image

Zum Vergleich, die Anwendungsverwaltung der NAS nach der Neuinstallation:

Stand heute:


image

Speicherbelegung des Pi hole Containers:

Speicherbelegung des leeren Test Containers:
image

Der Speicher läuft also wieder langsam aber sicher voll.

Ich habe momentan das gleiche Problem (Pi-hole V4.0, VM Image DietPi auf einer QNAP).

Ich habe bisher keine Lösung gefunden, außer die RegEx Liste mal komplett leer zu lassen (was jedoch nicht in meinem Sinne ist).

Gibt es die Möglichkeit in einer der nächsten Versionen die Einträge (~8500) der RegEx auszulagern in eine DB? Vielleicht zusätzlich gleich noch die Eintrage aus der .conf für die ausgeblendeten Domains (~10k)?

Inwiefern soll das eine Verbesserung bringen? Wir halten die Einträge im Speicher vor damit wir schnellstmöglich Domains abgleichen können. Wäre alles in einer Datenbank müssen wir jedes mal auf die Festplatte/SD-Karte zurückgreifen und das würde die Auswertung im Bereich von sub-Millisekunde pro Eintrag locker ver-hundertfachen (oder schlimmer).

Ich frage mich wo Regex langsam volllaufenden Speicher verursachen könnten, das klingt irgendwo ein bisschen nach einem Bug... Ich habe den Code durchgesehen und keinen Speicherbug entdecken können.

Ich habe meine RegEx Liste derzeit auf 6840 Einträge bereinigt (und bin weiter dabei). Die Speicherbelegung der VM (4GB) ist von 12,9% auf 11,2% gesunken.

Wie gesagt, ich bin kein Profi, was die Programmierung angeht, es war nur ein Gedanke von mir.

Check the hostname file.
Check the hosts file
Seems your install cannot resolve its own hostname on 127.0.0.1

Try BLOCKINGMODE=NXDOMAIN to lower the logfile size