J'ai quelques processus avec un nom connu qui écrivent tous dans des fichiers dans un seul répertoire. J'aimerais enregistrer le nombre de lectures et d'écritures de blocs de disques sur une période ( pas seulement l'accès aux fichiers) pour tester si un changement de paramètre réduit considérablement la quantité d'E / S. J'utilise actuellement iostat -d -p
, mais cela est limité à toute la partition.
linux
monitoring
io
disk-usage
l0b0
la source
la source
Réponses:
Je me rends compte que cela va sembler à la fois simpliste et absurde, mais si vous avez le contrôle sur les applications en question (peut-être dans un environnement de test), vous pouvez monter UNIQUEMENT ce répertoire sur une partition qui lui est propre, alors
iostat
, etc., vous dirait seulement à ce sujet, et rien d'autre à cet endroit.S'il y a des disques physiques impliqués, vous pouvez les simuler avec un montage en boucle à la
Cela ne supprimerait pas complètement toutes les E / S de disque concurrentes, mais je suis presque sûr que
iostat
la sortie serait plus spécifique à vos besoins.la source
Je ne pense pas qu'il existe un moyen direct. Une façon d'obtenir les données souhaitées consiste à accéder à l'arborescence de répertoires via un système de fichiers virtuel qui enregistre les accès. Loggedfs est l'un de ces systèmes de fichiers, mais je ne sais pas s'il peut afficher toutes les données qui vous intéressent. (Sinon, ce serait probablement un effort de codage modeste pour ces données.)
la source
Vous pouvez utiliser à
inotifywait -m DIRNAME
partir des outils inotify .la source
-d
n'existe pas dans inotifywait 3.13. Tu veux dire-m
?-m
l'exception de l'exécution en arrière-plan et nécessitant un outfile.-r
pourrait également être utile