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%
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.
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.
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
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.
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.