Mon logiciel de gestion de documents fait beaucoup d'E / S et j'aimerais savoir à quels fichiers il accède le plus.
Existe-t-il un outil Linux qui me donnerait la liste des meilleurs fichiers consommant des IO, comme iotop mais pour les fichiers, toutes les quelques secondes?
Cela pourrait ressembler à:
$ thetool
THRPUT R/W/SWP FILE
40MB/s write /usr/alfresco/repo/1283421/1324928.doc
12MB/s read /usr/alfresco/cache/3928dh29f8if
11MB/s read /tmp/239398hf2f024f472.tmp
Je regardais dans les pages de manuel iotop
, lsof
, strace
et ils ne semblent pas offrir une telle fonctionnalité.
monitoring
disk-usage
Nicolas Raoul
la source
la source
Réponses:
Je pense que votre métrique "nombre d'octets" est incorrecte. Considérez deux accès. On lit 10 Mo d'un fichier. L'autre lit tous les 512 octets du fichier pour les 10 premiers Mo. Le "nombre d'octets" sera 512 fois plus élevé pour le premier accès que pour le second. Pourtant, ils imposeront tous deux exactement la même charge au sous-système d'E / S.
Si vous pouvez accepter le "nombre d'opérations", qui est à peu près aussi bon ou aussi mauvais que le "nombre d'octets", alors vous avez quelque chose que vous pouvez réellement mesurer. Le
inotifywatch
programme fait cela, et il fait probablement partie duinotify-tools
package de votre distribution .Il vous indiquera immédiatement quels fichiers constituent la majeure partie des accès, et il vous permettra probablement de résoudre votre problème réel.
la source
Tout d'abord, pour clarifier: il n'existe pas de «fichiers consommant des entrées / sorties» . Les fichiers sont des objets passifs. Ce sont des programmes qui déclenchent les E / S (généralement en lisant / écrivant des fichiers) et ils peuvent accéder aux fichiers plus ou moins souvent. Ainsi, le débit que vous mentionnez en ce qui concerne les fichiers n'aurait en fait pas beaucoup de sens. Une information utile concernant les fichiers pourrait être la fréquence à laquelle ils sont consultés et modifiés. Cela peut être contrôlé à l'aide
notifywait -m /some/file/or/directory
(à partir d' outils inotify ) ou d'un système plus complexe comme FAM ou Gamin .la source