GNU/Linux >> Tutoriels Linux >  >> Linux

Comment savoir ce qui fait tourner mon disque ?

Sous Linux, le récent fanotify syscall a activé un bel utilitaire appelé fatrace qui informe sur quel processus touche quel fichier, soit pour l'ensemble du système, soit pour une partition particulière. Définitivement mon outil préféré pour ce genre de choses :

deluged(6542): R /usr/share/GeoIP/GeoIP.dat
rsyslogd(1737): W /var/log/syslog
rsyslogd(1737): W /var/log/kern.log

Vous pouvez consulter http://samwel.tk/laptop_mode/ . Bien que cette page ne concerne pas principalement votre problème, mais donne une bonne vue d'ensemble du fonctionnement des E/S et des idées, comment rendre silencieux vos disques en les éteignant.

La réponse courte à votre problème :

echo 1 > /proc/sys/vm/block_dump

il produira des messages dans syslog comme :

Jul 23 10:04:05 locutus kernel: ls(5224): READ block 7340136 on dm-4
Jul 23 10:04:05 locutus kernel: ls(5224): READ block 4335136 on dm-4
Jul 23 10:04:05 locutus kernel: ls(5224): READ block 15505568 on dm-4
Jul 23 10:04:05 locutus kernel: ls(5224): READ block 7340160 on dm-4
Jul 23 10:04:05 locutus kernel: ls(5224): READ block 7340168 on dm-4

J'ai utilisé une simple commande ls

REMARQUE :assurez-vous que la journalisation de votre système est désactivée ou écrite sur un disque virtuel (type :tmpfs) avant de le faire, car (citation) :"votre système peut entrer dans une boucle de rétroaction, où syslogd provoque une activité du disque, ce qui provoque la sortie du noyau, et cela force syslogd à faire plus d'activité sur le disque"

Je recommande de monter /tmp en tant que disque virtuel, puis de configurer la journalisation sur /tmp/syslog. Ceci dans /etc/fstab (et un redémarrage) fera :

none /tmp tmpfs defaults,size=256M 0 0

J'ai utilisé iotop pour comprendre ce qui utilise le lecteur. Depuis le site Web, vous devez avoir "Linux kernel ≥ 2.6.20 avec les options TASK_DELAY_ACCT et TASK_IO_ACCOUNTING activées".

Il semble que vous ne soyez intéressé que par un lecteur en particulier. Vous pourriez envisager d'écrire un script qui vérifie régulièrement avec lsof ou fuser l'accès à ce lecteur/partition.


Linux
  1. Comment puis-je savoir si je suis dans un écran ?

  2. Comment un noyau Linux peut-il être si petit ?

  3. Comment puis-je vérifier ce qui prend de l'espace disque dans /tmp ?

  4. Combien de Load_cycle_count mon disque dur peut-il hypothétiquement supporter ?

  5. Comment surveiller l'utilisation de la mémoire dédiée au noyau ?

Comment vérifier quelle version du noyau Linux suis-je en cours d'exécution

Comment puis-je obtenir ce que ma fonction principale a renvoyé?

Comment puis-je cloner tout mon système d'exploitation sur une clé USB amorçable ?

Combien de cœurs le noyau Linux peut-il gérer ?

Comment puis-je désactiver le bouton de mon lecteur de CD/DVD ?

Comment savoir quel processus est à l'origine de l'utilisation de kswapd ?