it-swarm.com.de

USB-Stick: Das Kopieren dauert ca. 3 Minuten, das Entfernen dauert jedoch sehr lange: 10 bis 12 Minuten

Ich benutze Ubuntu 17.10.

Ich habe ein USB-Stick in NTFS formatiert, um einen Windows7-USB-Installer vorzubereiten.

Ich habe das Boot-Flag auf diesem USB-Stick gesetzt und die Dateien darauf kopiert.

EDIT 1: Der USB-Stick wird automatisch von udev gemountet.

umount /dev/sdb1 dauert 10 bis 12 Minuten.

Hier sind die Mount-Optionen:

$ mount | grep sdb
/dev/sdb1 on /media/mansfeld/Win7_USB_Installer type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096,uhelper=udisks2)

BEARBEITEN 2: Der Vorgang cp ist überhaupt nicht SOFORT, es dauerte 3 Minuten, um die Dateien auf den USB-Stick zu kopieren.

EDIT 3: Die sync -Operation (direkt nach cp ausgeführt) dauerte 12 Minuten! Aber dann wird das umount augenblicklich sein.

Bei FAT32 (mit deaktivierter Synchronisierung auch während des Ladevorgangs) stelle ich dasselbe Verhalten fest.

Irgendwelche Ideen, warum es so lange dauert, NTFS USB-Stick zu entfernen?

6
SebMa

Sie sind wahrscheinlich leiden unter pufferung Caching. Um das Schreiben auf USB-Sticks (und Festplatten im Allgemeinen) zu beschleunigen, verwendet Linux einen Dateisystem-Cache:

Wenn Sie (glauben Sie) etwas auf den Stick schreiben, wird es zuerst in den Cache (im RAM) geschrieben, und der Befehl cp gibt (zum Beispiel) sofort zurück und gibt eine wirklich schnelle Schreiboperation vor. Während Sie andere Dinge tun, wird der Inhalt des Caches im Hintergrund auf den Stick geschrieben. Möglicherweise stellen Sie fest, dass eine LED auf dem Stick weiterhin blinkt und Schreibvorgänge anzeigt (abhängig von Ihrem Stick), obwohl nichts offensichtlich ist.

Wenn Sie umount kurz nach einem Schreibvorgang ausgeben, wartet umount, bis der gesamte Cache-Inhalt des Dateisystems auf den Stick geschrieben wurde, um sicherzustellen, dass keine Daten verloren gehen.

Mit sync können Sie den Cache manuell leeren und die Daten auf den Stick schreiben. Dies beschleunigt jedoch nicht die gesamte verstrichene Zeit, da Sie dann auf den Abschluss von sync warten müssen (anstatt auf umount zu warten). Aber das umount wird dann sofort zurückkehren, da der Cache bereits geleert ist.

Zusammenfassend haben Sie drei Möglichkeiten, nachdem Sie große oder viele Dateien auf den Stick kopiert haben:

  • umount und warten Sie 10 Minuten, bis der Vorgang abgeschlossen ist
  • sync, warte 10 Minuten bis zum Abschluss, gefolgt von umount (wird fast sofort zurückkehren)
  • warten Sie einfach 10 Minuten (vielleicht etwas länger) und tun Sie nichts (oder etwas, das nichts mit dem Stick zu tun hat) und dann geben Sie umount aus. Da der Cache automatisch im Hintergrund geschrieben wird, kehrt umount fast sofort zurück.
4
PerlDuck

Wenn Sie Dateien auf Ihr pendrive kopieren, werden sie nicht direkt darauf geschrieben. Die Synchronisierung des Dateisystems erfolgt über den Befehl zum Aufheben des Ladevorgangs. Die tatsächlichen Daten werden geschrieben, während Sie auf das Aufheben des Ladevorgangs warten. Wenn Sie sync vor umount ausführen, wird umount sofort angezeigt.

4
Pasi Suominen