Swappiness Einstellungen in QTS

  • Hallo zusammen,


    gibt es in QTS irgendwo die Möglichkeit die "swappiness" zu konfigurieren. Mir ist das Teil definitiv zu swap freudig. Ich meine, es sind 64GB RAM verbaut, wovon selten mehr als 30GB verwendet werden. Trotzdem fängt das System an mit der Zeit immer mehr in den Swap raus zu pagen. Ich merke es dann bei VMs, die sich dann von der Performance her wie ein Gummiband anfühlen können. Wenn man QTS machen lässt, dann werden auch gerne die drehenden Platten dazu vergewaltigt, obwohl mehr als genug NVM oder SATA SSD Space da wäre. Die HDD Swaps hab ich schon abgedreht, das hilft schon mal viel. Aber es wäre generell toll, wenn das System seinen RAM auch ausnützen würde, wenn er schon da ist.

  • Viel kann ich hier nicht zu beisteuern, außer ein schnelles Bild von meinem NAS...

    Eigentlich wollte ich gerade behaupten, dass mein NAS (TVS 473, 16/20GB RAM) überhaupt nicht swapt, ein Blick ins Monitoring brachte aber andere Erkenntnisse:

    pasted-from-clipboard.png


    Bis 12/2022 hat das System nur zwischenzeitlich ein paar mal geswappt (grünes Diagramm), das ist mir aber nie aufgefallen. Grund unbekannt.

    Erst seit 12/22 wir dder Swap bei mir recht exzessiv genutzt, Grund für das ständige Abbauen des Swap ist, dass ich das System wöchentlich automatisch neu starte.

    In meinem IT Log sehe ich, dass ich Anfang 12/2022 QTS von 5.0.1.2194 auf 2234 geupdated und die VS4 Beta installiert habe.

    Vielleicht hilft es Dir ja irgendwie....


    Wie viel Swap wird denn bei Dir genutzt?

  • LibreNMS in einer Debian VM... rednag hat dafür eine fertige VM für QNAP/Syno mit Menüführung gebastelt, falls Du die VM nicht "manuell" aufsetzen und einrichten willst...

  • Also der swapped schon nicht unerheblich.

    pasted-from-clipboard.png


    Da wo es fast bei null ist, hab ich den mal ausgeleert. Aber man sieht, es dauert ca. 1 Tag dann ist er wieder bei so 10GB.

  • Hallo,


    sieht aber nicht nach QTS aus. :/


    Nutzt Du QuTS Hero ? :/


    LibreNMS in einer Debian VM

    Läuft gut. :)


    Ich kann die VM leider nicht immer nutzen. Bei meinem kleinen NAS kann ich nur eine VM gleichzeitig laufen lassen. :(

    Einmal editiert, zuletzt von Becker2020 () aus folgendem Grund: Ein Beitrag von Becker2020 mit diesem Beitrag zusammengefügt.

  • Doch doch, das ist schon das normale QTS

    pasted-from-clipboard.png



    QTSHero würde mich eh auch interessieren und läuft auch auf meiner TVS. Aber mir fehlt da irgendwie die Zeit und Lust alle meine Services und Daten migrieren zu müssen.


    Hab was gefunden:


    Code
    echo 5 > /proc/sys/vm/swappiness


    Hab das jetzt mal von 25 auf 5 reduziert. Somit sollte der Kernel noch etwas mehr zum RAM tendieren, denn zum Swap-Space. Ist natürlich nicht persistent und müsste dann in das Autostart.sh, wenn sichs bewährt.

    2 Mal editiert, zuletzt von blue_focus () aus folgendem Grund: Ein Beitrag von blue_focus mit diesem Beitrag zusammengefügt.

  • Im Normalfall habe ich bei mir beobachtet, dass der Swap immer etwas halb so groß wie der eingebaute RAM angelegt wird (keine Ahnung, ob das was linux-typisch normales ist) und davon dann immer etwa 1/3 genutzt wird. Dabei spielt es dann meist keine Rolle, wieviel vom RAM tatsächlich genutzt wird. Aber bekanntlich ist mein höchsteigenes Problem ja der Slab. Im folgenden Bild hat sich hingegen spontan seit gut einem Jahr allerdings mal wieder TVHeadend soweit kräftig mit speicher bedient, dass sowohl RAM als auch SWAP irgendwann aufgebraucht waren. Dachte eigentlich, das hätte sich mittlerweile mit einem FW-Updatre gegeben.

    Zwischenablage01.jpg


    Ich habe das Bild mittels checkmk im Container gemacht.

  • Will ja nichts heraufbeschwören, aber es fällt gerade aus. Nach dem Update am Samstag auf QTS 5.1.4 war erst mal nachts wieder mein RAM-Problem da, aber nach einem Neustart am Sonntag früh ist bis jetzt grade erst mal ganz langsam auf mittlerweile 1.7 GB genutzt. Ist mir früher so nie aufgefallen - habe das aber auch nie spezifisch beachtet.


    Grund für das ständige Abbauen des Swap ist, dass ich das System wöchentlich automatisch neu starte.

    Das wird ja eigentlich an anderer Stelle ausgibig diskutierte. Dennoch vielleicht eine Anmerkung: Ich bin dengegenüber abgeneigt. Meine Erfahrung erweckt bei mir das Gefühl, dass sich mein Gerät aus mir undurchsichtigen Gründen hinsichtlich des Speichers nach jedem Neustart in einbem anderen Zustand befinden kann. Der kann mal schon sehr lange anhalten - muss aber nicht. So gibt es Zeiten, dass nach einem Neustart hinsichtlich RAM alles in einem für mich sehr zufriedenstellenden Zustand befindet, ein anderes Mal wird Sap oder Slab hingegen in störendem Maße für manche Dienste belastet. Habe ich mal einen "guten" Zustand erwischt vermeide ich einen Neustart solange wie möglich.


    Bin immer noch etwas am beobachten. Jetzt habe ich den Eindruck, dass ab dem Moment, zu dem das System erstmals den Swap nutzt, dieser dannach nicht mehr freigegeben wird - zumindest bis zu den (bei mir) ca. 30%. Ob das jetzt schlecht ist oder letztendlich egal ...

    Zwischenablage02.jpg :/ .

    2 Mal editiert, zuletzt von duke-f () aus folgendem Grund: Ein Beitrag von duke-f mit diesem Beitrag zusammengefügt.

  • duke-f

    Hast du schon mal den Swap mit "swapoff" oder qBoost in der WebUI aufräumen lassen?
    Bei mir wurde der verwendete swap space nun deutlich geringer, seit ich die swappiness von 25 auf 5 reduziert habe.
    pasted-from-clipboard.png

  • Ja, habe ich ab und an schon mal gemacht und tatsächlich wird ohne Änderung der swappiness der reservierte und der genutzte Swap reduziert von ca30 auf 22 GB bzw. jeweils ca. 1/3 davon.


    Vor einiger Zeit hatte ich auch mal mit swappiness Versuche gemacht, allerdings hatte das mein Slab-Problem nicht beeinflusst. Hab' daher wieder die Finger davon gelassen.

  • Wo hast du dir dann den angesehen, wie viel Swap freigegeben wurde?
    Die qBoost UI zeigt hier nämlich Mist an, weil sie nicht darauf wartet, bis das swapoff wirklich fertig ist. Bei mir wird der Swap wirklich komplett ausgeleert, auch wenn qBoost was Anderes behauptet. Ohne Änderung der Swappiness bläst sich der Swap aber recht schnell wieder auf den ursprünglichen Wert auf.


    Viel wichtiger als die Swappiness per se finde ich die Deaktivierung der Swap-Partitions auf den drehenden Platten, wenn eh auch SSD dafür da wären. DAS find ich das wirkliche Manko bei QTS, dass man das nicht selbst einstellen "darf".

  • Das ist länger her, aber soweit ich mich erinnere sowohl über free als auch in checkmk. Hab da irgendwoher die Befehlskette

    free -g && sync ; sync ; sync ;swapoff -a && swapon -a && free -g

    kopiert, free davor und danach ist von mir selber.

    Wie gesagt, bei mir ist er sonst immer auf ca 30 GB, jetzt schon länger erst auf 22 GB.


    Was mich ja mal doch interessieren würde ist, wie bei anderen Usern denn der Slab aussieht. Das ist ja mein eigentliches Problem. Wenn Linux jetzt mal Teile des RAM auf den Swap auslagert, wenn sie nicht schnell gebraucht werden, sehe ich nicht wirklich als problematisch oder hinderlich an. Dafür ist eben der RAM eher frei für wirklich schnellere Aufgaben. Nur wird bei mir aus mir unersichtlichen Gründen der RAM immer mal wieder plötzlich durch den Slab/kmalloc-32 voll gepackt.

  • Der Support nannte mir dazu dieses Kommando:


    Code
    cat /proc/slabinfo | awk '{printf "%7i MB : %s\n", $6*$(NF-1)/256,$1}'|sort -nk 1 -r | head -50

    Allerdings gibt das ja nur eine Momentaufnahme. Entweder man muss das beispielsweise als Cronjob kontinuierlich immer wieder aufrufen und als Logfile speichern, oder eben mittels checkmk o.ä beobachten. Wenn ich nachzuvollziehen versuchte, was der Support bei seinem externen Zugriff achte konnte ich auch immer nur sehen, dass er genau dieses ausführte und eben gelegentlich genau das feststellte, was ich auch selber schon in meinen Fehlerbeschreibungen genannt hatte - hatte da dann das Gefühl, nicht mal der kann das wirklich interpretieren....

  • Das schaut dann bei mir so aus ->


  • Wie gesagt, die Momentaufnahme sieht bei mir nicht wesentlich anders aus. Manchmal jedoch steigt die Zeile mit kmalloc-32 auf Werte über 50000 MB.

  • Wäre vielleicht mal ne überlegung das über Telegraf in meine InfluxDB zu saugen. Dan hätte man das im zeitlichen Verlauf.

    Da der Telegraf das aber vermutlich nicht nativ unterstützt müsste man ein Scriptbasteln, welches die Daten korrekt für Influx aufbereitetet. sed und awk sind leider nicht so meine Freunde :beer:



    ------ Korrektur

    Telegraf hat da doch schon was. Wenn Slab auch nur als gesamtes gesehen wird und nicht einzeln nach Kernel-Modul.


    pasted-from-clipboard.png


    So schaut das bei mir aus. Das hellblaue Dings unten ist der Slab-Space über die letzten 30 Tage. :)

    Einmal editiert, zuletzt von blue_focus ()

  • Ja, habe ich ab und an schon mal gemacht und tatsächlich wird ohne Änderung der swappiness der reservierte und der genutzte Swap reduziert von ca30 auf 22 GB bzw. jeweils ca. 1/3 davon.