My name is Cédric Bozzi, I make apps and websites, and this is my tech blog — you’ll find news commentary here, from a very opinionated Mac-head.
Il y a une version française ici, but most of this blog’s contents are extracted from my Twitter feed, and hence only available in one language (which varies randomly).
For quite a while now I’ve had a problem on my iMac where, after a few days, launching any new application would result in the CPU gauge going to 100% for thirty seconds, and the temperature and fan speed rising accordingly — which wouldn’t have been so bad if I didn’t have a bunch of AppleScript applications that I regularly had to launch, or if I didn’t have to restart Safari every so often to reset resources.
I used to think the likely culprits were either Firefox 3 or Mercury Messenger, because it seemed to happen in a more reproducible way after I’d open them a couple of times (I won’t delve into the reasons why Firefox and Mercury are intrinsically associated in specific, uh, tasks), so I cut back on using one, or the other, or both — and today it started happening again even though I was certain I hadn’t used either since I last booted up. I went scrubbing my InputManagers folders again, as those are the prime suspects when something goes wrong with every application’s launch sequence, but there was still only 1Password, and removing it changed nothing. So I started thinking about alternate solutions, and suddenly remembered hearing about this Unixy thing that OS X has and I heard it lets you look at everything your computer does or something.
I googled a bit for the dtrace syntax; here is, for future reference, the Terminal instruction that did the trick:
sudo dtrace -n 'syscall::open*:entry { printf("%s %s", execname, copyinstr(arg0)); }'
This tells dtrace to display in real time every file that’s being opened on disk; I looked at what was happening at the moment when the CPU went crazy, and I ended up removing the macam QuickTime component (which lets you use legacy USB webcams) and apparently solving the problem. I don’t know why a QuickTime component would start loading with every single program after a certain uptime delay, or why Mercury and/or Firefox would be accelerating that process, so I’m not 100% sure that I found the true root of the problem, but at the very least I did find a useful Unix comment, and hence this post.
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