J'ai une situation vraiment étrange ici. Mon PC fonctionne bien, du moins dans la plupart des cas, mais je ne peux pas gérer une chose. Quand j'essaie de copier un fichier de 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 cesse de bouger pendant une seconde ou deux, puis il bouge un peu et il s'arrête à nouveau. Lorsque quelque chose se joue, par exemple à Amarok, le son agit comme une mitraillette. La vitesse passe de 500K / s à 15M / s, moyenne de 8M / s. Cela se produit uniquement lorsque je copie quelque chose sur une clé USB. Lorsque le processus de copie est terminé, tout revient à la normale.
J'ai tout essayé - autre clé USB, un port USB différent sur le panneau avant ou à l'arrière, j'ai même changé les broches USB de 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é différents systèmes de fichiers - fat32
, ext4
. Je n'ai aucun problème avec l'appareil sous Windows, sur mon ordinateur portable. Ce doit être mon PC ou quelque chose dans mon système. Je n'ai aucune idée de ce qu'il faut rechercher. J'utilise les tests Debian avec Openbox autonome. Mon PC est un peu vieux - Pentium D 3GHz, 1 Go de RAM, 1,5 To disque WD Green. 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-le simplement, je mettrai à jour ce message le plus tôt possible.
J'ai essayé de reproduire ce problème sur Ubuntu 13.04 live cd. 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. Aujourd'hui, j'ai environ 820 Mo de RAM et environ 400 Mo de mémoire SWAP. Il n'y a pas de problème avec la copie, pas de congélation du tout, tout est comme il se doit. Donc, on dirait que c'est une faute du système, mais où exactement? Qu'est-ce qui causerait un comportement aussi étrange?
ionice -c3 cp something.tgz /media/pendrive
. Cela placera lecp
processus nouvellement créé dans la troisième classe de priorité (= la plus basse) "inactif".Réponses:
Utilisez-vous une version 64 bits de Linux avec beaucoup de mémoire? Dans ce cas, le problème peut être que Linux peut verrouiller pendant plusieurs minutes les écritures volumineuses sur des périphériques lents, tels que des cartes SD ou des clés USB. C'est un bug connu qui devrait être corrigé dans les nouveaux noyaux.
Voir http://lwn.net/Articles/572911/
Solution: en tant que problème racine:
Je l'ai ajouté à mon
/etc/rc.local
fichier dans mes machines 64 bits.TANSTAAFL ; ce changement peut (et va probablement le faire) réduire votre débit sur ces périphériques - c'est un compromis entre latence et vitesse. Pour revenir au comportement précédent, vous pouvez
... 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
etdirty_background_ratio
.Remarque pour les non-experts de linux: les fichiers
/proc
sont des pseudofichiers - juste des canaux de communication entre le noyau et l’espace utilisateur. Ne jamais utiliser un éditeur pour les modifier ou les regarder; obtenez à la place une invite du shell - par exemple, avecsudo -i
(saveurs Ubuntu) ousu root
et utilisezecho
etcat
).Mise à jour 2016/04/18 il semble qu'après tout, le problème est toujours là. Vous pouvez le consulter sur LWN.net , dans cet article sur les files d'attente d'écriture différée .
la source
uname -a
retourne3.13.0-32-generic
, donc oui. Mais je n'ai pas vérifié si le correctif pour le problème avait été intégré au noyau ou non. J'ai une machine de 16 Go et cela semble fonctionner correctement sans la solution de contournement, bien que je dois dire que je n'ai pas essayé avec des appareils particulièrement lents.vim
jamais . Obtenez un shell root (avecsudo -i
) et utilisez les commandes susmentionnées.L'amplification en écriture peut être la raison, car le système tente d'écrire en morceaux plus petits que l'effacement de bloc (lecture / mod / écriture) + un désalignement de bloc.
Pour vérifier votre réglage actuel, procédez comme suit:
Vous pouvez régler les règles de salle pour ces appareils:
Dans ce cas, j'avais remplacé max_sectors pour tous les périphériques, qui utilisait une valeur par défaut de 240 (stockage USB) en 32K secteurs ou 2K secteurs.
Sur mon système (Mageia 4, 3.14.24 core i7), je devais le faire à cause de vitesses d’écriture terriblement lentes (2 Mo / s) sur Kingston DT101 G2 16GB:
et ajouter:
Et la
dd
vitesse d'écriture a été multipliée par 3.mc
cp
probablement 10 à 20 fois plus haut (après avoir commencé la première partition et réformaté avec 64 000 clusters alignés):pour vérifier l'alignement (vérifiez [le secteur de début des données] doit être multiple de 128 (taille du cluster)). Ajustez le nombre de secteurs réservés (-R) si nécessaire.
Par défaut, max_sectors (240) semble entraîner une forte amplification en écriture sur certains des nouveaux lecteurs bon marché. Mais soyez très prudent avec un réglage aussi élevé, l'effet similaire est obtenu à 2048 secteurs (probablement des blocs d'effacement 1M:
Testez tous vos vieux périphériques USB, ils fonctionnent toujours bien. Utilisez des attributs de fournisseur / modèle dans les fichiers de règles pour être plus spécifique.
la source
matériel vs logiciel
J'ai rencontré un problème étrange similaire à celui rencontré avec les clés USB, et dans mes recherches, il s'agit presque toujours d'un problème de pilote ou du matériel spécifique du PC / de la carte mère.
Je le sais parce que j'ai plusieurs systèmes qui sont du matériel identique, et sur un, je peux effectuer cette opération sans problème, alors que sur un autre, le problème se présente.
Que faire?
Vos options sont vraiment limitées ici. Il vous suffit de vous assurer que le dernier BIOS / firmware est installé sur votre système et que vous disposez des dernières versions des paquets de votre disto.
Au-delà de tout ce que je peux vous suggérer, c’est de vous assurer que vous évitez cette situation en ne tentant pas de copier des fichiers pendant qu’une autre copie est en cours.
Si vous avez le type de personnalité qui vous énerve, essayez une autre distribution live de Linux et répétez les étapes qui ont conduit à votre problème. Cela éliminerait simplement le problème, qu'il s'agisse d'un problème spécifique à la distribution ou d'un matériel, comme je l'ai décrit ci-dessus. Ce serait une petite consolation, mais j'aime toujours savoir des choses plutôt que de me plonger la tête dans le sable, et non.
Rien d'autre?
Si vous êtes vraiment obsédé par les obsessions, vous pouvez essayer d’exécuter l’application avec laquelle vous faites la copie,
strace
dans l’espoir d’attraper le système, quel que soit l’appel système gelé. Vous devriez également pouvoir le faire depuis la ligne de commande.Exemple
Ensuite, lancez-en un autre.
Nous espérons que le système gèlera pendant cette opération et que vous aurez peut-être de la chance de trouver de la fumée dans l'un ou l'autre de ces fichiers journaux.
la source
strace
et le gel a joué presque instantanément, alors j'ai attendu quelques secondes et j'ai tué le processus. J'ai un journal de 1 Mo, mais je ne peux pas le lire, je ne sais pas quoi chercher. Vous pouvez le vérifier ici pastebin.com/u29RvqgC - ce n'est pas le journal complet (limité à 500 Ko), mais il n'y avait que des lignes similaires à celles de la fin. Je vais essayer de reproduire ce problème avec Ubuntu Live CD.