#FF00AA

Je m’appelle Cédric Bozzi, je crée des sites et des applications, et ceci est mon blog dédié à la technologie : vous y trouverez des news, des opinions et des tests, le tout écrit par un Mac-head aux opinions tranchées.

There’s an English version here, mais la majeure partie du contenu est tirée de mon flux Twitter, et donc disponible en une seule langue (qui change au hasard des humeurs).

31 mai 2008

Trouver ce qui fait ramer votre Mac

Ca faisait un moment que j’avais des problèmes avec mon iMac où, après quelques jours, chaque lancement d’application faisait tourner le processeur à 100% pendant trente secondes, avec l’augmentation de température qui va avec et les ventilateurs qui tournent à fond — ce qui ne serait pas si gênant si je n’avais pas une série d’applications AppleScript que je lance régulièrement, ou si je ne devais pas relancer Safari de temps en temps pour récupérer des ressources.

Je pensais jusque-là que les coupables les plus probables étaient soient Firefox 3 soit Mercury Messenger, parce que ça semblait arriver de façon plus reproductible après les avoir lancés deux ou trois fois (je ne m’étendrai pas sur les raisons pour lesquelles Firefox et Mercury sont liés dans une même “tâche” de mon “workflow”), donc j’ai commencé à éviter de lancer l’un, ou l’autre, ou les deux — et aujourd’hui ça a commencé à se reproduire alors que j’étais certain de n’avoir lancé ni l’un ni l’autre depuis mon dernier boot. Je suis retourné faire du ménage dans les dossiers InputManagers, puisque ce sont les premiers suspects quand queqlue chose se passe mal au lancement de toutes les applications, mais il n’y avait toujours que 1Password, et l’enlever ne changeait rien. Alors j’ai commencé à réfléchir à d’autres solutions, et je me suis soudain souvenu d’avoir entendu parler d’un certain programme Unix qu’il y a dans OS X et qui devait servir à regarder à l’intérieur de sa machine, voir tout ce qui se passe, tout ça.

Un peu de Google pour trouver la syntaxe dtrace, et voilà, pour la postérité, l’instruction Terminal qui a donné la réponse :

sudo dtrace -n 'syscall::open*:entry { printf("%s %s", execname, copyinstr(arg0)); }'

Avec ça, dtrace affiche en temps réel toutes les ouvertures de fichier ; j’ai regardé ce qui se passait au moment où le processeur s’emballait, et fini par supprimer le plug-in QuickTime “macam” (qui permet d’utiliser de vieilles webcams USB), ce qui semble avoir réglé le problème. Je ne sais pas trop pourquoi un plug-in QuickTime déciderait de se charger avec chaque application au bout d’un certain seuil d’uptime, ni pourquoi le processus serait accéléré par Mercury et/ou Firefox, donc je ne suis pas sûr à 100% d’avoir vraiment trouvé l’origine de mon problème, mais au minimum j’ai trouvé une instruction très utile, d’où ce post.

 

Archives

2001   01   02   03   04   05   06   07   08   09   10   11   12  

2002   01   02   03   04   05   06   07   08   09   10   11   12  

2003   01   02   03   04   05   06   07   08   09   10   11   12  

2004   01   02   03   04   05   06   07   08   09   10   11   12  

2005   01   02   03   04   05   06   07   08   09   10   11   12  

2006   01   02   03   04   05   06   07   08   09   10   11   12  

2007   01   02   03   04   05   06   07   08   09   10   11   12  

2008   01   02   03   04   05   06   07   08   09   10   11   12  

2009   01   02   03   04   05   06   07   08   09   10   11   12  

2010   01   02   03   04   05   06   07   08   09   10   11   12  

2011   01   02   03   04   05   06   07   08   09   10   11   12  

2012   01   02   03   04   05   06   07   08   09   10   11   12