Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Occasionally my Macbook Pro will slow down as the hard drive clicks away endlessly. CPU load is low, but applications and menuitems are slow to respond. Is there a utility that can help me determine what's going on, such as the number of bytes read/written or files open/closed per process, over time?

share|improve this question
1  
Speculating here, but it might be something simple like mds updating Spotlight's index. –  user3463 Dec 30 '09 at 11:46
4  
9 times out of 10 spotlight is the problem. One thing I've noticed is that if you have a bootcamp partition, be sure to include it on the spotlight blacklist or mds will seem to always be chewing on it. –  Bryan Schuetz Dec 30 '09 at 16:18
    
Thank you all :-) –  a paid nerd Dec 31 '09 at 18:03
3  
Thanks for the suggestion regarding Spotlight. I was just now experiencing very high disk reads, threw my Boot Camp partition into the Privacy tab in Spotlight prefs, and immediately disk reads flatlined! Been driving me nuts for months. –  Tim Keating Apr 24 '10 at 16:15

4 Answers 4

up vote 54 down vote accepted

From man iotop:

iotop tracks disk I/O by process, and prints a summary report that is refreshed every interval.

This is measuring disk events that have made it past system caches.

Since this uses DTrace, only the root user or users with the dtrace_kernel privilege can run this command.

This may not be precisely what you want - but it's a ksh script which wraps around dtrace, so you should be able to figure out how to make dtrace do what you need, if iotop doesn't handle it by default.

However, something like iotop -C 5 12 should give you something to start with: it will output 12 samples, each 5 seconds long.

share|improve this answer
2  
Pretty good. iotop -C 5 12 is a good way to get a summary of what's going on. –  a paid nerd Dec 31 '09 at 18:01

You can also use fs_usage to get a blow-by-blow account of what apps are hitting the disk.

share|improve this answer
1  
Oooh, this is hot. fs_usage also lets you filter network and filesystem activity. –  a paid nerd Dec 31 '09 at 17:55

I always noticed this on Saturday mornings, and it turned out to be locate, which updates its database at 3:15am on Friday nights.

I tried disabling its launchd configuration (in /System/Library/LaunchDaemons/com.apple.locate.plist), but it still ran anyway, so I just moved /usr/libexec/locate.updatedb out of the way. Problem…mitigated.

share|improve this answer

It might be the OS paging to virtual memory instead of something application specific. You might try quitting less frequently used applications or at least restarting some applications that like to build up in-memory caches over time (e.g. Safari). Check out the various per-process memory statistics with Activity Monitor to find likely culprits. If quitting some memory intensive applications seems to temporarily alleviate the problem, you might try adding RAM.

If the disk activity is not paging related, you might be able to use fs_usage to track it back to one or more specific processes.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.