GNU/Linux >> Tutoriels Linux >  >> Linux

Puis-je suivre la progression d'une opération de "synchronisation" ?

En regardant /proc/meminfo affichera le Dirty le nombre diminue avec le temps à mesure que toutes les données s'écoulent ; une partie peut se répandre dans Writeback aussi bien. Ce sera un résumé de tous les appareils, mais dans les cas où un appareil du système est beaucoup plus lent que les autres, vous vous retrouverez généralement là où tout ce qui se trouve dans cette file d'attente lui est lié. Vous trouverez probablement le Dirty grand nombre au démarrage et le sync se termine à peu près au même moment où il approche de 0. Essayez ceci pour obtenir un affichage interactif :

watch -d grep -e Dirty: -e Writeback: /proc/meminfo

Avec des disques normaux, je peux normalement ignorer Writeback , mais je ne sais pas s'il est plus souvent impliqué dans le chemin de transfert USB. S'il ne fait que rebondir de haut en bas sans tendance claire, vous pouvez probablement simplement regarder le Dirty numéro.


Vous pouvez regarder le /sys/block/<device>/stat fichier pour l'appareil approprié pendant la synchronisation. La colonne 9 indiquera le nombre de requêtes en cours sur l'appareil, qui devrait descendre à zéro une fois la synchronisation terminée.
Je ne connais pas de moyen de traduire cela en un nombre d'octets, mais cela devrait vous donner une idée approximative de la quantité de "choses" encore en attente.

Voir le fichier stat.txt dans la documentation du noyau pour un peu plus d'informations. (Il y a aussi un inflight fichier dans ce répertoire sur mon système qui semble pouvoir contenir des requêtes de lecture et d'écriture en cours, mais je ne trouve pas de documentation pour cela.)


En utilisant la réponse de Greg, vous pouvez simplement avoir sync exécuter en arrière-plan tout en affichant l'état du bloc Dirty en mémoire.

Pour y parvenir, exécutez simplement cette commande :

sync & watch -n 1 grep -e Dirty: /proc/meminfo

Cela appellera sync en arrière-plan lors de l'exécution de watch à l'avant. Lorsque le sync commande sera terminée (autour du moment où la taille du bloc Dirty a atteint 0), vous aurez une sortie qui ressemble à ceci :

1]  + 27260 done        sync

Cela signifie que la commande est terminée et que vous pouvez tuer le watch commande avec Ctrl +C .


Linux
  1. Comment puis-je trouver la version de Fedora que j'utilise ?

  2. Pourquoi ne puis-je pas faire défiler dans le terminal ?

  3. Comment puis-je surveiller la longueur de la file d'attente d'acceptation ?

  4. Puis-je changer le SID d'une base de données Oracle ?

  5. Rafraîchissement continu de Netstat (la montre change la sortie)

Regardez des vidéos YouTube sur le terminal Linux

Qu'est-ce que la commande Linux Watch + Exemples

7 façons d'utiliser la commande Linux Watch

Sauvegarde du répertoire personnel - Le guide rapide et sale

Corrigez l'erreur impossible de trouver la commande hwmatch sur Grub

Vous ne trouvez pas .so dans le même répertoire que l'exécutable ?