Es dauert sehr lange, bis meine Flash-Laufwerke ausgeworfen werden

3549
iago-lito

Ich führe eine Neuinstallation auf Debian 8 aus und muss oft eine lächerliche Zeit warten, bevor meine Flash-Laufwerke ausgeworfen werden (zwischen 1 und 10 bis 15 Minuten). Während dieser Zeit kann ich nichts auf das Laufwerk zugreifen, da der Fehler angezeigt wirdAn operation is already pending.

Es scheint, als hätte es mit dem Flashdrive-Format nichts zu sehen (ich habe es mit FAT, ext4, NTFS versucht), aber es scheint auch zu beginnen, wenn ich damit anfange, Dateien darauf zu legen. (nichts schweres, ~ 500Mb).

Was könnte dieses Problem verursachen? Kann ich etwas tun, um den Auswurf zu beschleunigen?

3

1 Antwort auf die Frage

6
Mogget

Although I don't know if this is the actual explanation/solution to your question, I believe this is an issue with USB in general.

If you copy large files or many files, the USB device will deliver a message to the host saying "I am about to send you these files". The device will then asynchronously send all files and will take the time it needs to do so. This means that when you do a cp /my/flash/drive/foo.txt /home/bar/foo.txt the device will tell the operating system that files are being copied and then send the files.

The only way I know of to check if all data actually has been transferred is to enter sync after doing a command that copies/moves or deletes files on a flash drive. The sync command will then just block until the drive is finished with transferring data. After that it should be safe to unmount/eject an USB flashdrive.


[EDIT]: Check this post to watch progress of the sync operation: the number printed when you run

watch grep -e Dirty: -e Writeback: /proc/meminfo 

should decrease down to zero as background data transfers occur. When it's done, your sync will be completed and your flashdrive will eject.


Another common problem with ejecting USB storage devices is that atleast Debian will not allow it if there is a program, terminal or similar currently working on files/folders on that flash drive. So if you have changed directory to a folder on that flashdrive in a terminal and then try to eject the flash drive using another terminal, it will not allow that until you have changed directory to somewhere else not on the flashdrive in the first terminal.

Kurze Antwort: Es dauert lange, da das USB-Gerät immer noch Daten überträgt, die Sie kopiert, gelöscht, verschoben oder bearbeitet haben, und das Auswerfen des Geräts verweigert, bis der vorherige Befehl ausgeführt wurde. Mogget vor 8 Jahren 0
Danke für diese Erklärung! Meinen Sie damit, dass die Dateien möglicherweise immer noch übertragen werden, obwohl ich mit dem Kopiervorgang fertig bin, wenn ich ihn auswerfen möchte? Ist es eine LÜGE, wenn der Fortschrittsbalken nach dem Klicken + Ziehen vorbei ist oder ich nach `cp` zur Eingabeaufforderung zurückkehre ?! ;) iago-lito vor 8 Jahren 0
Genau! Nur weil der Befehl, den Sie ausgeführt haben (cp, mv, rm oder sogar eine Kopie in Windows einfügen) und beendet ist, bedeutet dies nicht, dass alle tatsächlichen Daten übertragen wurden. Es kann immer noch im Hintergrund übertragen werden. Mogget vor 8 Jahren 1
Verrückt! Wenn ich es richtig verstehe, ist "sync" die einzige verlässliche Methode, um sicher zu sein, dass alle Daten übertragen wurden, da sie nur dann zurückgegeben wird, wenn die Arbeit erledigt ist. Nebenfrage: dann * if * do 'cp' und * wann * Erreichen die GUI-Fortschrittsbalken "100%"? Worauf warten sie wirklich? iago-lito vor 8 Jahren 0
Es gibt möglicherweise andere Möglichkeiten, um zu prüfen, ob die Übertragung erfolgt ist oder nicht, aber ich kenne keine. Um ehrlich zu sein, weiß ich nicht genau, was das Betriebssystem verwendet. Vielleicht weiß jemand anderes hier die Antwort darauf. Mogget vor 8 Jahren 0
Sehen Sie sich die erste Antwort in dieser Frage an. Es erklärt einige der Dinge, die ich nicht gut erklärt habe. http://askubuntu.com/questions/122113/copy-to-usb-memory-stick-really-slow Mogget vor 8 Jahren 1
Ich habe jetzt tatsächlich einen gefunden! Überprüfen Sie meine Bearbeitung :) iago-lito vor 6 Jahren 0