Gestern habe ich eine einzelne 8-GB-Datei mit einer langsamen Schreibgeschwindigkeit von 7 MB / s auf einen USB-Stick kopiert, während mein RAM 3 GB beträgt. Während des Kopierens blieb das System stehen, bis ich den Cursor nicht mehr bewegen konnte.
Ich habe es geschafft, mich bei der Textkonsole anzumelden, und lief iotop
. Es zeigte sich, dass ein Prozess mit dem Namen kswapd0
99,99% der E / A-Vorgänge beanspruchte.
Gibt es Problemumgehungen, damit das Kopieren einer großen Datei mein System nicht unbrauchbar macht?
Antworten:
Gemäß diesem Fehlerbericht habe ich es gelöst, indem ich folgende Zeilen hinzugefügt habe
in /etc/sysctl.conf
und läuft
quelle
dirty_background_bytes
unddirty_bytes
verwenden absolute Bytes. Ich habe dieses Problem mit der zweiten Antwort behoben, aber um es dauerhaft hinzuzufügensysctl.conf
, lesen Sie diese Antwort . Wenn Sie also Prozentwerte verwenden, optimieren Sie diese beim Aufrüsten des Speichers.Ich bin auf ein ähnliches Problem gestoßen. Meins ist 64 Bit Ubuntu 14.04. Nach einem langen Kampf fand ich eine Antwort, die mein Problem löst. Zur einfachen Verwendung habe ich die folgenden Befehle hinzugefügt, die in der oben genannten Antwort verwendet wurden . Überprüfen Sie die Antwort auf detaillierte Erklärungen.
Nach Verwendung des obigen Befehls begann das System normal mit dem Kopieren von Dateien zu arbeiten.
Vielen Dank an @Rmano .
quelle
Beim Kopieren auf ein Flash-Laufwerk tritt ein ähnliches Problem mit dem Einfrieren des Systems auf. Ich habe einen Fehlerbericht darüber eingereicht: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1267648
Als Workaround fand ich, dass das Deaktivieren von Swap das Problem vollständig beseitigt.
quelle
Ja, es gibt Kernel-Einstellungen, mit denen Sie festlegen können, wie viele Daten als geschrieben markiert werden müssen, bevor sie tatsächlich auf die Festplatte geschrieben werden. Schauen Sie hier für eine ziemlich umfassende Beschreibung von ihnen. Insbesondere möchten Sie einen Wert für dirty_ratio finden, der für Sie gut geeignet ist (in der Regel ist er für Desktop / Laptop standardmäßig zu hoch, aber es gibt keine magische Zahl, die für alle geeignet ist).
quelle
Ich hatte ähnliche Probleme beim Kopieren von Dateien auf ein
exfat
Laufwerk. Ich hatte weniger Probleme mit der Verwendung einesext4
Dateisystems auf meiner USB-Festplatte.quelle
Ich hatte gerade genau das gleiche Problem (im Jahr 2019) unter Ubuntu 19.10, als ich eine große Anzahl von Dateien von der USB-Festplatte auf die SATA-Festplatte kopierte. Beide Dateisysteme sind ext4. Als ich den Swap ausschaltete, verschwand das Problem. Es sieht nach einem Fehler in der Speicherzuordnung für Festplattenpuffer aus - anscheinend versucht der Kernel, in einer solchen Situation so viel Speicher wie möglich für Festplattenpuffer zuzuordnen, was keinen Sinn ergibt (Plattenpuffer in Swap erstellen ...) oder es berechnet nur fälschlicherweise die Speichergröße, die zum Cachen verwendet werden kann ...
quelle