Lorsque je fais un transfert de fichiers volumineux de mon disque dur externe USB3 vers mon disque dur interne (ou vice versa), que ce soit via Nautilus ou via un terminal, Ubuntu (Unity) se verrouillera presque complètement. Des choses comme alt-tab prennent 20 secondes ou plus pour se terminer pendant le transfert de fichiers. Ce n'est pas le cas lorsqu'il y a beaucoup de lectures / écritures aléatoires sur le disque, comme lors de l'installation de packages.
Lorsque j'exécutais Windows, je pouvais exécuter un transfert de fichiers en arrière-plan et continuer à faire des choses, bien que plus lentement lorsque quelque chose était nécessaire pour accéder au disque. Je pourrais toujours alt-tab très bien.
Il semble qu'Ubuntu donne la priorité au transfert de fichiers avant toutes les autres E / S de disque, c'est pourquoi il se bloque. Sous Windows, il semble que les transferts de fichiers aient une priorité inférieure, ce qui signifie que le système peut rester réactif pendant que le disque est saturé.
Comment puis-je réparer cela? C'est plutôt ennuyeux, car l'ordinateur devient complètement inutilisable lors de la copie de fichiers. Ce problème se produit à la fois dans 14.04 et 15.10. Je suis obligé de brancher mon disque dur sur un port USB2 pour éviter ce problème, ce qui entraîne des temps de transfert beaucoup plus longs.
la source
Réponses:
J'ai eu le même problème sur mon ordinateur portable, qui a un système de disque assez lent par rapport au reste de l'ordinateur.
J'ai pu faire beaucoup mieux, en changeant l'algorithme de planification utilisé pour les transferts de disque. Par défaut, Ubuntu utilise Deadline, mais je trouve que mon système répond plus rapidement lorsque j'utilise cfq.
Pour voir quel planificateur vous utilisez, lancez la commande
Pour effectuer une modification unique (jusqu'au redémarrage), exécutez la commande
Notez qu'il est important que la modification soit apportée à tout ce que vous avez pour votre disque dur externe; Le mien se charge généralement en tant que sdb. donc je lancerais la commande
echo cfq | sudo tee /sys/class/block/sdb/queue/scheduler
Je rend ma modification permanente pour tous les lecteurs connectés à mon ordinateur, en ajoutant le paramètre du noyau
elevator=cfq
dans mon fichier grub, qui ressemble à ceci:la source