En l'absence d'iotop, quelle commande est la plus appropriée pour obtenir un processus borné d'E / S

10

Suggérez-moi la meilleure façon d'énumérer le processus borné io. Je sais que iotop est le meilleur moyen d'obtenir la liste, mais je veux une autre option car mon système affiche un grand nombre de processus d'état D.

vnix27
la source

Réponses:

9

Dupliqué sur: Linux - Comment puis-je voir ce qui attend le disque IO voir cette URL pour une solution simple.

Et vous pouvez activer la journalisation des E / S disque en plaçant 1 dans /proc/sys/vm/block_dump. puis tail -f /var/log/syslogvous donnera des lectures et des écritures (processus, pid, opération, blocs et périphérique). N'oubliez pas de revenir /proc/sys/vm/block_dumpà zéro lorsque vous avez terminé.

poisonbit
la source
Il s'agit du fichier kern.loget / ou debugdes distributions basées sur Debian.
fab
11

Vous pouvez vérifier l'utilisation d'E / S de n'importe quel processus en consultant le /proc/[pid]/iofichier. Exemple:

$ cat /proc/1775/io
read_bytes: 4366336
write_bytes: 45056
cancelled_write_bytes: 229376
dogbane
la source
2
iotopnécessite maintenant la capacité NET_ADMIN (ou sudo / root) pour être exécuté, c'est donc une excellente alternative que d'utiliser setcap cap_net_admin+ep /usr/sbin/iotopje suppose .. thx !!
Aquarius Power
3
Vous devez effectivement régler le cap_net_adminsur pythonpour que cela fonctionne. setcap cap_net_admin+ep /usr/bin/python2.7par exemple.
gam3