GNU/Linux >> Tutoriels Linux >  >> Linux

J'ai une statistique io élevée. Haute écrit. Mais quels fichiers sont écrits ?

Eh bien, vous pouvez essayer les commandes suivantes qui ont fonctionné pour moi dans RHEL6 :

1) Quel que soit le périphérique que vous voyez dans la sortie "iostat" effectuant plus d'E/S, utilisez-le avec fuser commande comme suit :

fuser -uvm device

2) Vous obtiendrez une liste de processus avec le nom d'utilisateur provoquant plus d'E/S. Sélectionnez ces PIDS et utilisez-les dans le lsof commande comme suit :

lsof -p PID | more

3) Vous obtiendrez une liste de fichiers/répertoires avec l'utilisateur effectuant le maximum d'E/S.


Il semble qu'il n'y ait pas d'outils pour connaître le débit d'E/S par fichier autre que dans le processus utilisant le fichier. Mais il existe des moyens de connaître le débit d'E/S du processus.

iotop - Il s'agit d'un utilitaire de type top/iftop qui affiche le débit d'E/S du processus.

Après avoir identifié quel processus a des E/S lourdes, utilisez ce qui suit pour savoir quel fichier est utilisé

lsof -c <process name>

Cela devrait réduire la portée et aider à identifier la source.


Vous pouvez utiliser inotifywait du inotify-tools pour savoir exactement dans quel fichier est écrit. Cela ne vous dira pas combien de données sont écrites, mais cela vous dira au moins dans quels fichiers sont écrits au fur et à mesure.

Par exemple, cette commande imprimera le nom du fichier dès qu'il sera créé, modifié ou supprimé dans /tmp :

$ sudo inotifywait -e modify -e attrib -e move -e create -e delete -m -r /tmp
Setting up watches.  Beware: since -r was given, this may take a while!
Watches established.
/tmp/ CREATE test
/tmp/ MODIFY test

Malheureusement, vous devrez deviner dans quel répertoire les fichiers sont écrits. Cela échoue si vous essayez de l'utiliser sur le répertoire racine, bien qu'apparemment cela puisse être remplacé :

$ sudo inotifywait -e modify -e attrib -e move -e create -e delete -m -r /
Setting up watches.  Beware: since -r was given, this may take a while!
Failed to watch /; upper limit on inotify watches reached!
Please increase the amount of inotify watches allowed per user via `/proc/sys/fs/inotify/max_user_watches'.

Linux
  1. J'ai ajouté un utilisateur à un groupe, mais les autorisations de groupe sur les fichiers n'ont toujours aucun effet ?

  2. Linux - Détermination du fichier spécifique responsable des E/S élevées ?

  3. Qu'est-ce qu'un caractère spécial et un bloc de fichiers spéciaux dans un système Unix ? ?

  4. Linux - Qu'est-ce que la mémoire élevée et la mémoire faible sous Linux ?

  5. N Équivalent à Top Mais pour les E/S réseau ?

Rechercher et supprimer des fichiers volumineux ouverts mais supprimés ?

7zip, Xz, Gzip, Tar, etc. - Quelles sont les différences ??

Que sont les fichiers .run ?

Trouver quels fichiers se trouvent dans un paquet dans Ubuntu

Dans quels langages Windows, Mac OS X et Linux sont-ils écrits ?

Qu'est-ce que la mémoire haute et la mémoire basse sous Linux ?