Qu'est-ce qui cause toute l'activité du disque sur OS X?

59

Parfois, mon Macbook Pro ralentit lorsque le disque dur s'enclenche sans cesse. La charge du processeur est faible, mais les applications et les menus sont lents à répondre. Existe-t-il un utilitaire qui puisse m'aider à déterminer ce qui se passe, tel que le nombre d'octets lus / écrits ou les fichiers ouverts / fermés par processus, dans le temps?

un nerd payé
la source
1
Spéculer ici, mais cela pourrait être quelque chose de simple, comme mdsmettre à jour l'index de Spotlight.
4
Le problème est 9 fois sur 10. Une chose que j’ai remarquée, c’est que si vous avez une partition bootcamp, assurez-vous de l’inclure sur la liste noire des projecteurs, sans quoi mds semblera toujours mordiller dessus.
Bryan Schuetz
5
Merci pour la suggestion concernant Spotlight. Je venais tout juste de vivre des lectures de disque très élevées, j’avais jeté ma partition Boot Camp dans l’onglet Confidentialité dans les préférences Spotlight et, immédiatement, les lectures de disque étaient à plat! Ça me rend fou depuis des mois.
Tim Keating le

Réponses:

61

De man iotop:

iotop suit les E / S du disque par processus et imprime un rapport de synthèse actualisé à chaque intervalle.

Cela mesure les événements de disque qui ont permis de dépasser les caches système.

Etant donné que cela utilise DTrace, seul l'utilisateur racine ou les utilisateurs disposant du privilège dtrace_kernel peuvent exécuter cette commande.

Ce n'est peut-être pas précisément ce que vous voulez, mais c'est un script ksh qui enveloppe dtrace. Vous devriez donc être en mesure de trouver comment faire en sorte que dtrace fasse ce dont vous avez besoin, si iotop ne le gère pas par défaut.

Cependant, quelque chose comme iotop -C 5 12devrait vous donner quelque chose pour commencer: il produira 12 échantillons de 5 secondes chacun.

James Polley
la source
2
Assez bon. iotop -C 5 12est un bon moyen d’obtenir un résumé de ce qui se passe.
Un nerd payé
51

Vous pouvez également utiliser fs_usagepour obtenir un compte-rendu détaillé des applications sur le disque.

AlBlue
la source
1
Oooh, c'est chaud. fs_usagevous permet également de filtrer l'activité du réseau et du système de fichiers.
Un nerd payé
2

Je l’ai toujours remarqué le samedi matin, et c’est ce qui s’est avéré locate, qui met à jour sa base de données à 3h15 le vendredi soir.

J'ai essayé de désactiver sa launchdconfiguration (in /System/Library/LaunchDaemons/com.apple.locate.plist), mais cela fonctionnait quand même, alors je me suis /usr/libexec/locate.updatedbécarté. Problème… atténué.

Brandan
la source
1

Il peut s'agir de la pagination du système d'exploitation vers la mémoire virtuelle plutôt que d'une application spécifique. Vous pouvez essayer de quitter des applications moins fréquemment utilisées ou au moins de redémarrer certaines applications qui souhaitent créer des caches en mémoire au fil du temps (par exemple, Safari). Consultez les différentes statistiques sur la mémoire par processus avec Activity Monitor pour rechercher les coupables possibles. Si le fait de quitter certaines applications gourmandes en mémoire semble résoudre temporairement le problème, vous pouvez essayer d’ajouter de la RAM.

Si l'activité du disque n'est pas liée à la pagination, vous pourrez peut-être la fs_usagesuivre vers un ou plusieurs processus spécifiques.

Chris Johnsen
la source