web-dev-qa-db-fra.com

Le transfert se fige lors de l'écriture de gros fichiers sur une clé USB

Lorsque j'essaie de transférer gros fichiers (1 Go ou plus) sur une clé USB (2.0, 3.0, disque dur ou "clé USB"), tout se passe bien, le fichier est transféré correctement (essayé md5 somme les deux de l'original et celui transféré et ils correspondent) ...

Cependant tous deux en ligne de commande(mv *bigfile* /media/*username*/*name_of_the_drive*/)et à l'aide de l'interface graphique (en cours d'exécution sur le bureau MATE d'Ubuntu 15.10, mais cela se produit sous d'autres versions aussi) quand à la fin du transfert la barre de progression de la boîte de dialogue se fige (elle se fige uniquement lorsque vous utilisez la console). Par conséquent, je dois fermer manuellement le dialogue/terminal lorsque je "pense" que le transfert est terminé.

En outre, lorsque j'ai essayé d'écrire un lecteur USB amorçable avec tilitaire Make Startup Disk, l'application est confrontée au même problème et se bloque, tout en maintenant la "session d'écriture" ouverte et ne me permet pas de démonter la clé USB même quand je le ferme. Lors de l’essai d’autres versions d’Ubuntu 15.10 (j’en ai essayé plusieurs), une erreur de dialogue s’est affichée, indiquant quelque chose comme:

"Les fichiers ont été correctement transférés sur le lecteur USB, mais le programme n’a pas pu informer le noyau que l’écriture était terminée."

Je m'excuse de ne pas avoir signalé l'avertissement exact, mais je me souviens que c'est le sens de ce que j'ai lu.

Actuellement en cours d'exécution 15.10 MATE, noyau 4.4.1 sur ordinateur portable x64 avec GTX960M et pilotes propriétaires Nvidia installés.

P.S .: J'ai mis à jour le noyau 4.4.1 pour voir si cela pouvait résoudre le problème, puisqu’il ferait la même chose avec 4.2.0_27. Mais ce n’est évidemment pas le cas

Merci d'avance pour votre aide,

F.

4
fredsat

J'ai en fait trouvé une réponse ici car le problème était dû à l'installation de 16 Go RAM. Le tampon d'écriture était en réalité trop grand. J'ai résolu en me connectant en tant que root:

su root

puis en définissant les octets sales sur un nombre défini (je suppose que le paramètre par défaut 0 ne donne aucune limite à la taille du cache d'écriture), en tapant:

echo $((16*2048*2048)) > /proc/sys/vm/dirty_background_bytes
echo $((48*2048*2048)) > /proc/sys/vm/dirty_bytes

J'ai choisi cette taille comme bon compromis et le problème est maintenant résolu.

6
fredsat