web-dev-qa-db-fra.com

Découvrez quels processus écrivent sur le disque dur

Sur mon Lenovo T400 et Ubuntu, le voyant d'écriture sur le disque dur continue de clignoter. Je me demandais si sous Linux, il est possible de savoir quels processus font des E/S sur le disque dur? Tout comme par top, vous pouvez découvrir quels processus utilisent le plus de CPU et de mémoire.

33
Tim

Iotop est un bon outil pour ce que vous voulez. Il permet également d'afficher la quantité cumulée d'E/S sur l'un des disques DISK READ, DISK WRITE, SWAPIN et IO (pourcentage global). C'est à travers une interface astucieuse:

  • Vous appuyez simplement sur a sur le clavier, et il triera les processus les plus affamés en haut.
  • Inverser l'ordre, vous appuyez simplement sur r.
  • Si vous souhaitez trier par d'autres colonnes, il vous suffit d'appuyer sur la touche gauche/droite.

Comme top, la présentation est plutôt occupé. Une autre chose est qu'il n'a pas les innombrables options que top a (par exemple, je ne peux pas choisir de masquer colonnes qui ne m'intéressent pas), mais l'outil est plus que suffisant pour son objectif spécifique.

42
tshepang

Vous pouvez utiliser lsof ( man lsof ). Ce qui suit renverra une liste de tous les fichiers ouverts en écriture:

lsof | grep -e "[[:digit:]]\+w"
15
James Sumners

Utilisez strace.

2
user541686

Surtout pour une faible activité du disque, il est nécessaire d'utiliser iotop en mode batch, pour éviter que les lignes d'accès courtes ne disparaissent rapidement. La réponse par Comment enregistrer le système de fichiers en lecture/écriture par nom de fichier sous Linux? montre comment procéder.

Jusqu'à présent, iotop est la meilleure solution globale. La commande suivante vous donne une sortie en temps réel de tous les processus utilisant le disque.

iotop -bktoqqq -d .5

where: -b     is batch mode
       -k     is kilobytes/s
       -t     adds timestamp
       -o     only show processes or threads actually doing I/O
       -qqq   removes output headers
       -d .5  updates every .5 seconds

Une fois que vous avez l'ID de processus, vous pouvez également trouver les fichiers avec

 lsof -p $PID
2
Frank Breitling