69 votes

Le système se bloque/ne répond pas/ne peut pas être utilisé lors de la copie d'un fichier volumineux sur USB.

Hier, j'ai copié un seul fichier de 8 Go sur une clé USB avec une vitesse d'écriture lente de 7 Mo/s, alors que ma RAM est de 3 Go. Pendant la copie, le système s'est figé, au point que je ne pouvais même pas déplacer le curseur.

J'ai réussi à me connecter à la console texte, et j'ai exécuté iotop il a montré qu'un processus nommé kswapd0 prenait 99,99% de l'IO.

Existe-t-il des solutions de contournement pour que la copie d'un gros fichier ne rende pas mon système inutilisable ?

40voto

Philippe Gachoud Points 5360

Selon ce rapport de bogue Je l'ai résolu en ajoutant les lignes suivantes

vm.dirty_background_ratio = 5
vm.dirty_ratio = 10

dans /etc/sysctl.conf

et en cours d'exécution

sudo sysctl -p

28voto

doom777 Points 328

J'ai rencontré le même problème. Le mien est Ubuntu 14.04 64 bits. Après une longue lutte, j'ai trouvé une réponse ce qui résout mon problème. Pour faciliter l'utilisation, j'ai ajouté les commandes ci-dessous utilisées dans ce document réponse ci-dessus . Vérifiez la réponse pour une explication détaillée.

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

Après avoir utilisé la commande ci-dessus, le système a commencé à fonctionner normalement en copiant des fichiers.

Merci à @Rmano .

6voto

Vladimir Rutsky Points 1279

Je rencontre un problème similaire avec le système qui se bloque lors de la copie sur un lecteur flash. J'ai soumis un rapport de bogue à ce sujet : https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1267648

Comme solution de contournement, j'ai découvert que la désactivation du swap élimine complètement le problème.

5voto

Bandrami Points 151

Oui, il existe des paramètres du noyau que vous pouvez modifier pour spécifier la quantité de données qui doivent être marquées comme écrites avant d'être effectivement écrites sur le disque. Regardez aquí pour une description assez complète de ceux-ci. En particulier, vous devrez trouver une valeur de dirty_ratio qui vous convienne (elle est généralement trop élevée par défaut pour les ordinateurs de bureau/portables, mais il n'y a pas de chiffre magique qui convienne à tout le monde).

5voto

chaker Points 51

Je viens d'avoir exactement le même problème (en 2019), sur ubuntu 19.10, en copiant un grand nombre de fichiers du disque USB vers le disque SATA. Les deux systèmes de fichiers sont ext4. Lorsque j'ai désactivé le swap, le problème a disparu. Cela ressemble à un bogue dans l'allocation de mémoire pour les tampons de disque - apparemment, le noyau essaie d'allouer autant de mémoire que possible pour les tampons de disque dans une telle situation, ce qui n'a pas de sens (faire des tampons de disque dans le swap...), ou il calcule simplement à tort la taille de la mémoire qui peut être utilisée pour la mise en cache...

Comme quelqu'un l'a souligné, mettre la permutation à 1 ne résout pas le problème, ce qui est logique, si les fichiers que vous copiez ont une taille totale supérieure à la taille de la RAM...

Au fait, quelqu'un peut-il expliquer pourquoi il n'est pas recommandé de désactiver le swap ? Si j'ai 32 Go de RAM, quelle différence cela fait-il d'ajouter 4 Go de swap ? Je ne peux penser qu'à certaines applications obscures qui s'attendent à ce que le swap soit là. Mais j'arrêterais simplement d'utiliser de telles applications, puisqu'une application correctement écrite ne devrait pas se soucier de l'échange. Le swap ne devrait être géré qu'au niveau du système d'exploitation...

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X