31 mai 2008 |
Trouver ce qui fait ramer votre MacCa 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 :
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. |
|
|
|
|
2000 • 01 02 03 04 05 06 07 08 09 10 11 12 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 |