Improve Mac OS X performance under load by disabling spindump.

Improve Mac OS X performance under load by disabling spindump.

I push my Mac real hard at times. When the disk is thrashing hard, I’ve noticed a program called spindump that’s running. Here’s what the man page says:

spindump is a tool used by various system components to create hang reports and notify the user of application hangs. … For normal application crashes spindump will display a dialog to alert the console user to the crash and offer the choice to view more details about the crash and/or report the crash to Apple.

On Yan Pritzker’s blog I found some great tips. Patrick suggested the following. (Please ensure it’s all on one line.) 

sudo launchctl unload -w  /System/Library/LaunchDaemons/com.apple.spindump.plist

After running this, I don’t see spindump, and the disk isn’t thrashing as hard. Yeah, I’m running two heavy virtual machines that are hammering their virtual disks, but it appears that I’ve gained something.

Thanks, guys!


2009-03-27 Update: Fixed typo. A huge thanks to Rob for catching that.

  1. Patrick Says:

    Hi James,

    I’m glad I could help you.

    In my opinion, spindump is one of the most useless tools Apple installs on Macs, besides I never sent them those rather lenghty email because normally it’s not an Apple application which crashes but some third-party app.

    Greetings and happy “pushing”
    Patrick

  2. Martin J. Says:

    Wow, you’re just saving me hours of work :-) i had this stupid spindump problem for months now and was so frustrated because itunes kept distorting audio output when spindump was active.. today i almost wanted to reinstall my entire system because of spindump. thanks god i found your blog!

    funny though: the file wasn’t com.apple.spindump.plist but simply spindump … don’t know if this was the problem, either way my troubles are gone now! thx a lot!!!!

  3. Martin J. Says:

    hi again! i just found out, that this terminal workaround only works until the next restart of the system. is there an easy way to implement it forever? how would you do that?

  4. James Reuben Knowles Says:

    Hi Martin,

    Thanks for stopping by.

    That’s interesting that your spindump came back. Mine is gone forever. You can see in my Activity Monitor.

    no-spin-dump.jpg

    1. What version of OS X are your running?
    2. Did you copy and paste this entire line?


    sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.spindump.plist

    (2009-03-27 Edit: I fixed the typo here. Cut and paste copies errors, too. :( )

    Some notes:

    • “sudo” is required to run as the superuser. A normal user cannot change system settings.
    • launchctl controls which programs run when you start the computer.
    • /System/Library/LaunchDaemons is the place for system dæmons.
  5. Martin J. Says:

    well, i moved the spindump file out of the LaunchDaemons directory and now it stopped loading at system start. don’t know why launchctl unload was not enough… besides my spindump file wasn’t com.apple.spindump.plist but simply spindump .. i’m using 10.5.6 .. but as the problem is solved now everythings’s fine.. thanks for you help!

  6. James Reuben Knowles Says:

    Sounds like you moved the executable itself to a location that launchd couldn’t locate. The plist file is used to control the dæmon.

    If you’re happy with how your machine is behaving, who am I to pick nits? :)

    Best wishes.

  7. Rob Says:

    You need to use the “-w” flag to “write” the changes to survive a restart:


    $ sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.spindump.plist

  8. James Reuben Knowles Says:

    @Rob: A huge thank you for catching that typo. Yes, that’s why mine worked and Martin’s didn’t. (When you stare at something long enough you cease to see the obvious.)

    @Martin: I’m sorry I didn’t see that error.

  9. sasser Says:

    thanks for this

  10. Peter Says:

    Yep – a big thanks from me as well! Works a treat – when I have lots of apps open; much less spinning of yea olde wheel!

  11. Robert Dyson Says:

    Thanks very much!

  12. Matt Bennett Says:

    Many thanks James & Rob – spindump messes with iTunes playback in a horrible way. I am very happy to have it disabled!

  13. Alec Says:

    Wow, James and Rob, the nightmare is over.

    My 4GB Macbook will start running faster than a G3 iBook again.

    Always wondered if I needed Spindump or not.

  14. James Reuben Knowles Says:

    Thanks for the feedback! Glad it was helpful.

  15. Tristan Says:

    This is a godsend, thank you so much.

    Just for the sake of Google, the reason this was slowing me down was with slowdowns in debugging Flex and AIR applications, which OSX thought were crashed while they were actually just paused by the debugger. Spindump of course then used up a chunk of CPU logging these artificial “crashes” causing audio jitter problems and slowdowns when debugging Flex apps.

    Disabling spindump fixes everything, and I can’t imagine ever missing it. Thanks for the tip!

  16. James Reuben Knowles Says:

    Woah… mistaking breakpoints for crashes? Now that’s nasty.Thanks for sharing that information. Hopefully somebody else will benefit from your insight.

  17. Del.icio.us-linkit 22.05.2009 – 28.05.2009 at A Heartbreaking Blog of Staggering Genius Says:

    [...] Improve Mac OS X performance under load by disabling spindump – [...]

  18. George Says:

    Wow! Thanks very much, I had been having performance issues as well. I this morning noticed that it was spindump. I am a bit new to the terminal side of things. I am assuming by super user you mean logging in as root?

    Thanks again, George

  19. James Reuben Knowles Says:

    George,

    I’m glad this helped.

    You’re on the right train of thought about the superuser. The term “superuser” is a synonym for “root”.

    There’s a general rule that one should never actually log in as root unless it’s absolutely necessary, and then only the minimum amount of time that’s necessary. That’s because the normal checks against operator stupidity do not exist when running as root. Every seasoned Un*x administrator has one or more personal horror stories about that slip of the finger and… something bad.

    If you are logged into an account that is an administrator for the computer, you do not need to actually log in as root. The “sudo” command runs a single command as if you were logged in as root. It’s an acronym for “Switch User then DO (run command)”.

    sudo allows one to do most routine maintenance (for example, disabling spindump) without the need to log in as root.

    I hope that helps.

Leave a Reply