Auto Swap Plugin by gutemine

  • Hi !


    Auf Grund der aktuellen Diskussion ist es mir jetzt zu blöde geworden
    und ich habe wie schon andiskutiert ein Auto Swap Plugin gemacht.


    Das Plugin wird wenn es installiert ist und in den Einstellungen Boot
    Swap aufgedreht beim Booten jedes auf einem auf /media/xxxx gemounteten
    device wenn ein File mit Namen swapfile drauf gefunden wird auch
    beswappen, sowie alle Partitionen auf devices die mit dem Typ 82 also
    Linux swap partitioniert wurden.


    Das ist aber NUR um Euch das Aufdrehen des swappen ohne doofe fstab
    Einträge oder ähnlichem zu erleichtern, deswegen ist das Feature auch
    immer an wenn das Plugin installiert ist, kann man aber auch abdrehen.
    nur dann geht das Auto Swap natürlich auch nicht.


    Das eigentliche Auto Swap besteht daraus das sobald eine Aufnahme läuft
    oder ein Timeshift gestartet wird innerhalb von wenigen Sekunden das
    swapfile DISABELT wird und erst wenn keine Aufnahme und kein Timeshift
    mehr aktiv sind wird automatisch das swapfile wieder aufgedreht.


    Mit cat /proc/swaps kann man dem Plugin auch in telnet bei der Aurbeit zusehen wenn Ihr es testet.


    Swappiness und das ignorieren von /media/hdd(/swapfile und /dev/sda2 ist jetzt auch defaultmäßig an.


    Und ja es gehen auch mehrere Swapfiles/Swappartitionen falls wer so seltsame Ideen hat.


    Damit sollten dann eigentlich trotz aktivem Swapfile die Ruckler in den Aufnahmen der Vergangenheit angehören.


    Ist zwar nicht die Lösung die ich gerne hätte, aber wert es zu testen ist es noch allemal.


    Und NEIN, das eigentliche Swapfile anlegen ist nicht fürs Auto Swap
    Plugin vorgesehen, das können diverse Tools wunderbar und im Wiki steht
    es auch wie man Swapfiles oder Swappartitionen macht.


    Auf Setup System kann man das Autoswap bei Aufnahme/Timeshift auch enabeln oder disabeln.


    Teste mal schön und gebt Feedback ob damit trotz im Normalbetrieb
    aktiven Swapfile keine Ruckler mehr in den Aufnahmen bei den OE 2.0
    Images mehr passieren.


    LG
    gutemine

  • Danke Gutemine, es schaut so aus, dass alles richtig funktioniert, Ich werde es testen. :thumbs_up:


    Zitat

    top - 12:26:20 up 14 min, 1 user, load average: 0.00, 0.06, 0.10
    Tasks: 87 total, 1 running, 86 sleeping, 0 stopped, 0 zombie
    Cpu(s): 3.7%us, 1.5%sy, 0.0%ni, 94.6%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st
    Mem: 149592k total, 75528k used, 74064k free, 1012k buffers
    Swap: 538620k total, 0k used, 538620k free, 17028k cached

    DMTwo, DM920 UHD, Panasonic TX-55JZ980E, Synology DS720+

  • Hmm, mir erschliesst sich der Nutzen eines Swapfiles, das gerade dann, wenn am meisten Speicher gebraucht wird (beim Aufzeichnen), nicht aktiv ist, nicht so wirklich.

  • Also meine Box nutzt beim Aufnehmen deutlich weniger RAM, als beim Abspielen von mkv oder Nutzen von HbbTV :sleeping_face:


    Aber ich sehe auch das Problem, dass natürlich genau dann, wenn ich viel RAM brauche, gerade eine Aufnahme startet und der Swap entzogen wird.

    so long
    m0rphU

  • So wie ich das verstehe ist ja das nicht die Lösung sondern ein Workaround.
    Damit kann Swap verwendet werden z.b. bei HBBTV, wenn dann eine Aufnahme startet wird Swap deaktiviert um die Aufnahme nicht zu zerstören.
    Die anderen Anwendungen laufen dann halt genauso (langsam) wie vorher ohne Swap.


    mfg fmx

  • So wie ich das verstehe ist ja das nicht die Lösung sondern ein Workaround.
    Damit kann Swap verwendet werden z.b. bei HBBTV, wenn dann eine Aufnahme startet wird Swap deaktiviert um die Aufnahme nicht zu zerstören.
    Die anderen Anwendungen laufen dann halt genauso (langsam) wie vorher ohne Swap.


    In wiefern wird ein System ohne Swap langsamer? Wenn kein Speicher mehr da ist, fällt ein Prozess auf die Nase. Langsam wird die Box ja eher, wenn excessiv geswapped wird.

  • Also meine Box nutzt beim Aufnehmen deutlich weniger RAM, als beim Abspielen von mkv oder Nutzen von HbbTV :sleeping_face:


    Aber ich sehe auch das Problem, dass natürlich genau dann, wenn ich viel RAM brauche, gerade eine Aufnahme startet und der Swap entzogen wird.


    OK, das kann schon sein, vor allem wenn gstreamer mal wieder leaked. Aber bei mir läuft auch meist eine Aufzeichnung, wenn ich ein mkv schaue...
    Von dem her, die Idee ist ja nicht schlecht, aber ich sehe wirklich wenig praktischen Nutzen.

  • Ihr immer mit Euren mkvs die Ihr schauen müsst :smiling_face:


    Wenn Ihr wisst das Ihr swapfile fürs mkv schauen braucht dann solltet Ihr nicht dem Plugin die Schuld gegen sondern keine Aufnahmen einplanen :smiling_face:


    Ich was steht denn für ein typ in der serviceref wenn mkv abgespielt werden, weil theoretisch kann ich schon auch einen Einstellparameter machen das beim Abspielen gewisser serviceref KEIN swapoff passiert und auf die Aufnahme gepfriffen wird, aber es geht bei dem Plugin auch um die 90% Usecases nicht um die 10%.


    Im Prinzip habe ich es ja auch gemacht um rauszufiden ob sowas überhaupt einen Mehrwert hat, das kann man aber nur im täglichen Betrieb rausfinden, nicht beim Jammern und Theoretisieren :smiling_face:


    LG
    gutemine

  • Ich habe noch ein paar Einstellungen die gewünscht wurden in einer 0.2 dazu gemacht

  • Erstmal großes Lob an gutemine, welcher dieses tolle Plugin - wenn es das macht was es machen soll - entwickelte. Anscheinend kein großes Ding.
    Kaum gibts was nutzbares schon wird gemeckert. Warum kA. Wer es nicht für sinnvoll erachtet oder braucht wird ja nicht gezwungen es zu installieren geschweige zu verwenden.


    Ich werde es aufjedenfall mal testen, denn enigma2 läuft einfach flotter wenn mal der Speicher von der Swap-Partition verwendet wird auch wenns nur paar MBs sind.
    Für HbbTV und CrossEPG ist eine Swap-Partition oder SwapFile von großem Nutzen.
    Das größte Problem waren immer die verzossenen oder gefreezten Aufnahmen.


    Weiter so gutemine



    Ps.: Eine Frage was ist Ignore Harddisk?

    In Betrieb
    Dreambox 920uhd-S2X/C
    Ausser Betrieb
    Dreambox 7080HD-S2/C / 8000-S2

  • DMM macht beim formatieren großer Harddisken hinten jetzt eine kleine Swappartition drann die sie beim Filesystemcheck verwenden damit der box das memory nicht ausgeht.


    Oder wenn man (warum auch immer) mal auf /media/hdd/swapfile eines angelegt hat, dann würde beides vom Autoswap beswapped und damit die Harddisk immer laufen.


    Deswegen ist die Einstellung jetzt drinnen und normal immer an, das /dev/sda2 und /media/hdd/swapfile ignoriert werden. Wenn man aber z.B. eine SSD Disk verwendet, oder nur einen USB Stick oder einfach eine 500HD hat wo nur eine harddisk drann ist und man in diesen Fällen trotzdem drauf swappen will dann dreht man das ignore harddisk halt wieder ab.


    LG
    gutemine


  • alles klar danke!
    Dachte grad schon mir hats die SwapPartition nach CrossEPG und 51MB verbraucht gnadenlos gekillt bis ich merkte. Es läuft ja ne Aufnahme :grinning_squinting_face:
    Einhängen ging auch nicht.
    Wie wird denn die SwapPartition beendet. Gekillt? Ausgehängt?

    In Betrieb
    Dreambox 920uhd-S2X/C
    Ausser Betrieb
    Dreambox 7080HD-S2/C / 8000-S2

  • Nein, das Plugin macht nur ein simples swapon/swapoff so wie es sich gehört.


    Aber dann wieder swapon machen bringt dann nichts, solange eine Aufnahme oder Timeshift läuft wird das Auto Swap nach wenigen Sekunden wieder ein swapoff machen, das ist ja der Sinn der Sache lieber die Aufnahme zu schützen. Aber man kann es ja im Plugin disabeln falls nötig.

  • Nein, das Plugin macht nur ein simples swapon/swapoff so wie es sich gehört.


    Aber swapon machen bringt dann nichts, solange eine Aufnahme oder Timeshift läuft wird das Auto Swap nach wenigen Sekunden wieder ein swapoff machen, das ist ja der Sinn der Sache lieber die Aufnahme zu schützen.

    gut so soll es sein :grinning_squinting_face:
    Mit Swapiness = 0 sollte ja wirklich nix in die Hose gehen bei Aufnahmenstart
    http://en.wikipedia.org/wiki/Swappiness


    Funzt 1a. Schaust du im Timer wann ne Aufnahme startet, weil gerade 1min vor Timerstart die Swap-Partition schon weg war

    In Betrieb
    Dreambox 920uhd-S2X/C
    Ausser Betrieb
    Dreambox 7080HD-S2/C / 8000-S2

  • schau dir den code an, es wird mit den dafür vorgesehen enigma2 Routinen gearbeitet um zu erkennen ob ein Recording oder ein Timshift aktiv ist.


    Und da die für Recordings auch verwendet werden um dich in der Standby.py zu warnen wenn eine Aufnahme läuft oder bald lösläuft damit du nicht runterfährst denke ich funktioniert das schon ein bisschen früher.

  • schau dir den code an, es wird mit den dafür vorgesehen enigma2 Routinen gearbeitet um zu erkennen ob ein Recording oder ein Timshift aktiv ist.


    Und da die für Recordings auch verwendet werden um dich in der Standby.py zu warnen wenn eine Aufnahme läuft oder bald lösläuft damit du nicht runterfährst denke ich funktioniert das schon ein bisschen früher.

    Alles klar, danke!

    In Betrieb
    Dreambox 920uhd-S2X/C
    Ausser Betrieb
    Dreambox 7080HD-S2/C / 8000-S2

  • selbst swappiness 0 und ein gänzlich leeres swapfile schützt leider nicht vor Rucklern in den Aufnahmen wenn swap aktiv ist, und ich schreibe jetzt besser nicht was ich davon halte.


    Und ob es funktioniert müsst Ihr jetzt schon selber rausfinden.

  • Ja soweit hat es Ghost ja hingebracht, voher hätte ein Plugin wie das Autoswap gar keinen Sinn gemacht, aber es ist trotzdem eigentlich schade das ich es überhaupt machen musste.