Beiträge von RobinK

    Ok... unabhängig von transparent hugepages davon könnte man per cronjob zyklisch mal den Pagecache leeren.


    Da DreamOS aber recht abgespeckt ist, kann ich hierzu keine exakte Anleitung geben, man muss z.B. minütlich das Kommando echo 3 >/proc/sys/vm/drop_caches aufrufen.
    Sollte dies helfen, dann liegt das Problem irgendwo in der Linux Speicherfragmentierung, wenn nicht, kann man das zumindest ausschließen.


    Es gibt hier sicher Experten, die wissen, wie das in DreamOS geht und das mal testen könnten.
    Das wäre evtl. auch ein Workaround, bis eine Lösung gefunden ist.

    Ok, ist vermutlich als Modul ausgelagert.


    Bitte mal:
    modprobe configs


    Jetzt sollte die Datei vorhanden sein (so ist es wohl auch beim Raspberry Pi der Fall...)


    Und dann nochmal:
    gzip -d </proc/config.gz | grep TRANSPARENT


    Edit:
    Wenn das auch nicht geht, liegt die Config evtl. in /boot/config<irgendwas>..., also:
    grep TRANSPARENT /boot/config*


    ansonsten weiß ich dann auch nicht weiter, da sind DreamOS Experten gefragt.

    Hallo toms129,


    mh, es kann natürlich auch sein, dass der Kernel gar nicht mit transparent hugepage support kompiliert wurde.
    Herausfinden kann man das mit:


    gzip -d </proc/config.gz | grep TRANSPARENT


    Wenn dort CONFIG_TRANSPARENT_HUGEPAGE=n steht, dann ist es nicht aktiv und ich war leider auf dem Holzweg.

    Hi zusammen,


    ich lese hier schon seit einigen Monaten still und heimlich mit, da ich zwar noch keine Dreambox habe, aber mit der DM900 bzw. DM920 liebäugel.
    Da ich mich beruflich viel mit Linux beschäftige und schon so einiges gesehen habe, kam mir noch eine Idee, die euch evtl. helfen könnte.


    Die Aussetzer scheinen ja im Treiber bzw. Kernel aufzutreten, Plugins und vielleicht auch enigma2 selbst würde ich daher eher ausschließen und mal in Richtung Kernel schauen.


    Zu meiner Idee:
    Der Kernel kennt ein "tolles" Feature "Transparent Hugepages", was dazu dient, dass kleine sog. Pages (sozusagen atomare Speicherbereiche) transparent zu größeren Pages zusammengefasst werden.
    Sinn ist auch, dass der Speicher hier weniger fragmentiert wird - jedoch ist mir schon gegenteiliges Verhalten aufgefallen, was dazu führt, dass der Speicher eher stärker fragmentiert.
    Neben der Fragmentierung, die ggf. selbst schon zu Problemen führen könnte, läuft regelmäßig ein Defragmentierungsthread im Kernel, der kleine Speicherbereiche im Hauptspeicher sucht, die in der Anwendung zusammenhängen und diese dann zu größeren Hugepages zusammenfasst.
    Dieser Vorgang könnte hier theoretisch für kleinere Aussetzer sorgen und dürfte um so häufiger auftreten, je länger die Box läuft (da die Fragmentierung steigt).


    Um diese Funktion abzuschalte, gibt es zwei Möglichkeiten:
    a) Im Bootloader die Option transparent_hugepage=never angeben
    b) Im laufenden System:
    echo never >/sys/kernel/mm/transparent_hugepage/enabled
    echo never >/sys/kernel/mm/transparent_hugepage/defrag


    Variante b) wirkt sich ggf. aber erst auf neue Prozesse aus... a) ist also vorzuziehen, oder man setzt b) beim Boot über ein Script.


    Ich möchte jetzt nicht zu viel Hoffnung erwecken, aber einen Versuch wäre es doch sicher wert :winking_face:


    Generell wäre es auch sinnvoll, sich den Kernel mal genauer anzuschauen, ggf. andere Versionen einzusetzen - wobei ich jetzt nicht weiß, ob das im DreamOS so einach möglich ist.


    Viel Erfolg weiterhin bei der Fehlersuche :smiling_face: