J'ai une situation vraiment étrange ici. Mon PC fonctionne bien, du moins dans la plupart des cas, mais il y a une chose que je ne peux pas gérer. Quand j'essaie de copier un fichier depuis ma clé USB, tout va bien — j'ai 16-19M/s, ça marche plutôt bien. Mais lorsque j'essaie de copier quelque chose sur la même clé USB, mon PC se bloque. Le pointeur de la souris s'arrête de bouger pendant une seconde ou deux, puis il bouge un peu et s'arrête à nouveau. Quand quelque chose joue, par exemple, dans Amarok, le son agit comme une mitrailleuse. La vitesse passe de 500K/s à 15M/s, moyenne 8M/s. Cela se produit uniquement lorsque je copie quelque chose sur une clé USB. Lorsque le processus de copie est terminé, tout redevient normal.
J'ai tout essayé - une autre clé USB, un port USB différent sur le panneau avant ou ces ports à l'arrière, j'ai même changé les broches USB sur la carte mère (panneau avant), mais peu importe où je mets ma clé USB, c'est toujours la même chose. J'ai essayé un système de fichiers différent — fat32
, ext4
. Je n'ai aucun problème avec l'appareil sous Windows, sur mon portable. Ce doit être mon PC ou quelque chose dans mon système. Je n'ai aucune idée de ce qu'il faut chercher. J'utilise les tests Debian avec Openbox autonome. Mon PC est un peu vieux - Pentium D 3 GHz, 1 Go de RAM, disque WD Green de 1,5 To. Si vous avez quelque chose qui pourrait m'aider à résoudre ce problème, je serais heureux de l'entendre.
Je ne sais pas quelles autres informations je devrais fournir, mais si vous avez besoin de quelque chose, demandez simplement, je mettrai à jour ce message dès que possible.
J'ai essayé de reproduire ce problème sur le live cd d'ubuntu 13.04. J'ai monté ma partition cryptée + swap crypté et connecté ma clé USB à un port USB. Ensuite, j'ai essayé de démarrer certaines applications, et maintenant j'ai environ 820 Mo de RAM et environ 400 Mo de SWAP. Il n'y a aucun problème avec la copie, pas de gel du tout, tout est comme il se doit. Donc, on dirait que c'est un défaut du système, mais où exactement ? Qu'est-ce qui causerait un comportement aussi bizarre ?
Réponse acceptée :
Utilisez-vous une version 64 bits de Linux avec beaucoup de mémoire ? Dans ce cas, le problème pourrait être que Linux peut se verrouiller pendant des minutes sur de grosses écritures sur des appareils lents comme par
exemple des cartes SD ou des clés USB. C'est un bogue connu qui devrait être corrigé dans les nouveaux noyaux.
Voir http://lwn.net/Articles/572911/
Solution :en tant que problème racine :
echo $((16*1024*1024)) > /proc/sys/vm/dirty_background_bytes
echo $((48*1024*1024)) > /proc/sys/vm/dirty_bytes
Je l'ai ajouté à mon /etc/rc.local
fichier dans mes machines 64 bits.
TANSTAAFL ; ce changement peut (et réduira probablement) votre débit vers ces appareils - c'est un compromis entre la latence et la vitesse. Pour revenir au comportement précédent, vous pouvez
echo 0 > /proc/sys/vm/dirty_background_bytes
echo 0 > /proc/sys/vm/dirty_bytes
…qui sont les valeurs par défaut, ce qui signifie que le comportement de réécriture sera contrôlé par les paramètres dirty_ratio
et dirty_background_ratio
.
Note pour les personnes pas si expertes avec Linux :les fichiers dans /proc
sont des pseudofichiers - juste des canaux de communication entre le noyau et l'espace utilisateur. N'utilisez jamais un éditeur pour les modifier ou les consulter; obtenir à la place une invite du shell — par exemple, avec sudo -i
(saveurs Ubuntu) ou su root
et utilisez echo
et cat
).
Mise à jour 2016/04/18 il semble qu'après tout, le problème soit toujours là. Vous pouvez le consulter sur LWN.net, dans cet article sur les files d'attente d'écriture différée.