Posts by Rasalom

    Da es hier aktuell zwei Threads gibt, in denen das Verhalten des Dateimanagers beim Kopieren bemängelt wird - das Fortschrittsfenster schließt sich, obwohl das Betriebssystem im Hintergrund noch Daten kopiert - bin ich auf die Idee gekommen, ein weiteres Applet zu erstellen, das durch ein rotes bzw. grünes Symbol anzeigt, ob tatsächlich noch Daten geschrieben werden. Für mich hatte ich das Problem zwar gelöst durch Setzen der Parameter vm.dirty_background_bytes und vm.dirty_bytes, aber ich finde es trotzdem ganz cool, und vielleicht hilft es manchen.

    README.md:

    Man kann auch den Schreibcache reduzieren, so dass der Fortschrittsbalken realistische Werte anzeigt und der Schreibvorgang fast unmittelbar nach dem Schließen der Fortschrittsanzeige tatsächlich abgeschlossen ist. Hat sich nach Tests mit USB-Stick und Netzwerkmounts gut bewährt:

    Schritt 1: Konfigurationsdatei erstellen

    Erstelle eine neue Datei, zum Beispiel 99-custom-cache.conf:

    Bash


    Code
    sudo nano /etc/sysctl.d/99-custom-cache.conf

    Schritt 2: Die Werte einfügen

    Kopiere die folgenden Zeilen hinein. Diese Werte sind ein "Best-of" für Systeme mit schnellen SSDs, die aber bei USB-Sticks und NFS nicht mehr einfrieren sollen:

    Plaintext


    Code
    # Ab 64 MB schmutziger Daten beginnt der Kernel im Hintergrund zu schreiben
    vm.dirty_background_bytes = 67108864
    
    # Bei maximal 256 MB schmutziger Daten wird der Prozess kurz angehalten
    # Das verhindert, dass der Cache den RAM flutet und den Dateimanager blockiert
    vm.dirty_bytes = 268435456

    Warum genau diese Werte?

    • 64 MB Background: Das ist genug, um kleine Schreibvorgänge (Dokumente, Bilder) sofort "verschwinden" zu lassen, aber klein genug, dass der Schreibvorgang auf den USB-Stick/NFS sofort beginnt und nicht erst wartet, bis Gigabytes im RAM liegen.
    • 256 MB Limit: Selbst eine langsame SSD schreibt das in Millisekunden weg. Ein USB-Stick braucht dafür vielleicht 10–20 Sekunden. Dein Dateimanager zeigt dir also einen realistischeren Fortschrittsbalken und friert nicht ein, weil er nicht mehr gegen eine "Wand" aus ungeschriebenen Daten rennt.

    Schritt 3: Einstellungen aktivieren

    Damit du nicht neu starten musst, lade die Regeln direkt mit diesem Befehl:

    Bash


    Code
    sudo sysctl --system

    Was passiert jetzt mit deiner SSD?

    Keine Sorge: Deine SSD wird dadurch nicht langsamer. Moderne NVMe-SSDs schreiben mit mehreren Gigabyte pro Sekunde. Da der Kernel bei 256 MB kurz "pustet", bemerkst du das bei einer SSD gar nicht, da sie diesen Puffer in einem Wimpernschlag leert.

    Der große Vorteil ist für NFS: Der Dateimanager schaufelt nicht mehr 4 GB in den RAM, um dann 5 Minuten lang bei 99% hängenzubleiben, während die Netzwerkkarte glüht. Er wird jetzt gleichmäßiger "stottern", was sich aber insgesamt viel flüssiger anfühlt.

    Überprüfung

    Du kannst jederzeit kontrollieren, ob die Werte aktiv sind:

    Bash


    Code
    sysctl vm.dirty_bytes vm.dirty_background_bytes

    Am besten prüfst du mal das Laufwerk. Da es vermutlich NTFS-formtiert ist, zweckmäßigerweise unter Windows. Das wird die Datei wahrscheinlich auch nicht wiederherstellen, aber das Dateisystem könnte beschädigt sein und sollte repariert werden.

    Ich wollte mich schon länger mit der Applet-Programmierung beschäftigen, nun habe ich es endlich getan. Das erste Werk ist ein Benzinpreistracker. Angesichts der aktuellen politischen Ereignisse bekommt das Applet zumindest für mich ungeahnte Relevanz.

    README.md:

    Screenshot:

    Übrigens ich habe auf meinen kleinen Laptop 10" Zorin OS installiert und alles klappt wunderbar. Der ist auch ein paar Jahre jünger. Vielleicht liegt es doch an dem alter von 2012 ungefähr.

    Meiner ist ein Miditower von 2019 mit Intel i5 9600K, Mainboard MSI MS-7C08 und Onboard-Grafik. Nicht der neueste, aber auch nicht wirklich alt. Eine extra GraKa ist nicht drin. Das Problem tritt allerdings bei mir selten auf, so ein- bis zweimal im Monat ungefähr.

    Tritt bei mir sporadisch auf, bisher habe ich mich nicht darum gekümmert. Ich schalte den PC dann auch mit dem Startschalter aus. Das letzte Mal ging das aber nicht, der PC bootete statt auszuschalten, auch bei mehren Versuchen. Ich habe ihn dann hochfahren lassen und konnte ihn normal in Linux herunterfahren. Bei mir ist nur LMDE 7 auf der Kiste. Hatte ich aber auch vorher mit Manjaro.

    Falls du nicht extra den Windows-PC zum Scannen anschmeißen willst, könnte eine VM mit Windows eine Notlösung sein. Bei Virtual Box musst du deinen User zur Gruppe vboxusers hinzufügen, dann kannst du unter Einstellungen / USB den Scanner hinzufügen - als USB-Gerät erkannt werden müsste er ja von Linux. Du kannst das ja vorher mit lsusb im Terminal prüfen.