2010-05-18 5 views
2

J'ai une application personnalisée qui a un tas de fichiers ouverts. Je peux voir les poignées de fichier ouvertes par un processus en utilisant "lsof" et je peux voir les fichiers accessibles en utilisant "watch -d 'ls -alh'" et en regardant le mtime/ctime. Cependant, je voudrais voir le taux de données qui est en train d'être lu/écrit dans ces fichiers. IE: J'ai besoin de déterminer si un fichier est en train d'être lu à 100 Mbps et de sortir un disque. Par la suite, y a-t-il plusieurs fichiers qui sont écrits à 1 Mbps? Regarder le débit pour un disque spécifique n'est pas trop utile car j'ai besoin de préciser quel fichier est en train d'être martelé. J'ai peur qu'il y ait aussi un piège; Idéalement, je dois le déterminer sans installer d'autres logiciels ou écrire des scripts ... Tout simplement parce que c'est l'un de ces systèmes de "très-production".Linux, surveiller les taux de lecture des fichiers

Est-ce que quelqu'un connaît un chemin? Merci d'avance pour vos suggestions.

Répondre

1

Découvrez strace. Il peut se lier aux processus en cours et vous dire exactement quels appels système ils exécutent et quels sont les paramètres - avec un petit script d'interpréteur, vous pouvez déduire exactement combien d'octets sont lus depuis quel handle de fichier pendant que vous regardez.

+2

C'est bon, mais j'espérais une commande plus standard, je suis assez étonné que cela ne fasse pas partie des utilitaires système standard ou quelque chose. – xconspirisist

Questions connexes