web-dev-qa-db-fra.com

Fichier USB transférant la confusion

J'utilise Ubuntu 18.04 avec KDE Plasma après la mise à niveau de 16.04. J'ai fait des recherches et jusqu'à présent, je comprends qu'avant le transfert de fichier, les fichiers sont mis en cache dans le ram afin qu'ils puissent être récupérés plus rapidement sur le support amovible.

Donc, j'essayais de copier 2 Go de photos reflex numériques de mon ordinateur portable m2.ssd sur ma clé USB NTFS probablement USB 2.0. Cela prend environ 15 minutes.

Dolphin et probablement d’autres gestionnaires de fichiers ou programmes malinforment l’utilisateur lorsqu’il s’agit de progresser. Lorsque je commence à copier les fichiers, la progression affichée est assez rapide et se termine en quelques secondes (peut varier). Cela se produit même avec cp et rsync.

Donc je suppose que la progression montrée est en fait la mise en cache dans la RAM. La raison pour laquelle je crois que c'est parce que:

a) Même après que ces programmes disent que le travail est terminé, mon le voyant USB continue de clignoter.

b) Quand j'essaie de démonte le port USB, il se bloque (peut-être mal formulé, il attend probablement jusqu'à ce que la copie soit terminée) même si Dauphin m'a informé que le travail était terminé.

Si je sors le port USB, les données sont corrompues et je finis par le formater avec disks parce que les autorisations sur les fichiers sont toutes gâchées.

Des questions:

1) Pourquoi Ubuntu gère-t-il l'usb comme ça? Ne devrait-il pas suivre les progrès comme des fenêtres?

2) Existe-t-il un moyen d'obtenir une progression du transfert de fichiers semblable à Windows? Je ne peux pas utiliser iostat ou quoi que ce soit à chaque fois que je veux copier des fichiers depuis/vers usb.

2
sstam

Vous avez décrit le processus avec précision, les applications prenant en compte leur partie du travail de copie dès qu'elles ont transmis le dernier octet au système (mémoires tampons). umount et/ou sync attendra que les tampons du système se vident avant de terminer. En réalité, iostat est un bon moyen de suivre l'activité du système sur un périphérique, mais la lumière clignotante de la clé USB est votre amie. Le "démontage sécurisé" proposé par l'interface graphique du fichier doit également faire apparaître une notification lorsque les mémoires tampons sont vidées. Les copies de fichiers volumineux peuvent être beaucoup plus lentes que ce que vous avez indiqué. Vous n'avez donc pas vu le pire tant que vous n'avez pas essayé de copier une machine virtuelle 50G. Jetez un coup d'œil aux bogues de "copie lente", et vos résultats semblent correspondre à ce que les autres voient.

Pour ce qui est de la raison, eh bien, UNIX a toujours été un système d’exploitation multitâches. Par conséquent, le fait de terminer un programme et de libérer sa mémoire était considéré comme une bonne chose. Attacher cette mémoire programme en attente d’E/S lentes était mauvais.

Sur mes gros exemplaires, je trouve que l’utilisation d’un programme de copie tel que tar ou cpio permet de spécifier une taille de mémoire tampon (par exemple, donner à tar plusieurs Mo de mémoire tampon, ce qui semble un peu décharger l’allocateur de mémoire système ou limiter la fragmentation de la mémoire.

1
ubfan1

Ce problème est spécifique à Dolphin. J'ai essayé différents ordinateurs de bureau et la plupart d'entre eux fonctionnent très bien avec une clé USB. Après avoir perdu 3 mois de travail, je suis passé à la cannelle. Le plasma est un très bon bureau. Mais Dolphin, c'est de la merde.

0
Francoys Proulx