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.

2011-02-23 Update: It was suggested that I also mention how to reverse this. Use load instead of unload.

sudo launchctl load -w  /System/Library/LaunchDaemons/com.apple.spindump.plist
This entry was posted in Mac, SysAdmin and tagged , , , , , , , , . Bookmark the permalink.

34 Responses to Improve Mac OS X performance under load by disabling spindump.

  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. 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. 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. @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. 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. Woah… mistaking breakpoints for crashes? Now that’s nasty.Thanks for sharing that information. Hopefully somebody else will benefit from your insight.

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

  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. 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.

  20. Pingback: links for 2010-04-08 « Bloggitation

  21. marktristan says:

    I really apologise for ignorance but I’m a regular user (non-programmer) who would love to disable spindump for all the reasons discussed above.

    However I do not know how to implement these commands on my Mac.

    Do I just open Terminal and paste “sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.spindump.plist”? Or is there more to it than that?

    I’m nervous about giving the wrong command, understandably :-)

  22. That’s a good thing actually. :) There’s reason for caution when you’re messing with system configurations, of course.

    However, yes, a copy/paste would work (without the quotation marks). This depends on your account being setup to use the sudo command. You cold try it and see whether it works.

    HOWEVER: (!!!) I would ensure you have done a full backup before messing with it. I’ll put a plug in for the program SuperDuper, or something equivalent, that will allow you to boot from your backup and restore your machine if something did go horribly wrong. It’s not likely, but a little prevention prevents even greater headaches.

    Best wishes.

    (I don’t get anything from plugging SuperDuper; it’s just a fabulous backup program that I use.)

  23. marktristan says:

    Thanks so much James. I tried it – and as far as I can tell, no spindump & all’s well.

    Thanks for the SuperDuper tip too. I’m currently using BackBlaze, which I find pretty good too. I’m freqently recommending backup to friends so I’ll mention both from now on.

    Happy New Year btw

    Mark

  24. Speed Up Mac says:

    This is an efficient method to improve Mac performance.

    Thanks for this great information. Really helped my enhancing my system speed.

    Thanks again

  25. Slowhand says:

    Hi,

    Thanks for this tip :-)

    For the sake of completeness, could you post how to reverse the effects of ‘sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.spindump.plist’

    Is it just ‘sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.spindump.plist’?

    Thanks :-)

    S

  26. That’s a good idea. I believe that you are correct to use “load” instead of “unload”.

  27. Slowhand says:

    James,

    Thanks… :-)

    This seems to be a relatively old thread, is it still relevant to Snow Leopard?

    S

  28. Off hand, I don’t know if spindump is still the little monster that it was under Leopard.

    Normally I leave things alone unless there’s a problem because mucking with system configurations without cause tends to cause headaches. However, looking at my Activity Monitor, I see that spindump is not running. That would suggest either I disabled the little monster because it was causing trouble, or Apple changed spindump’s behaviour. I unfortunately don’t remember off the top of my head.

  29. Rob says:

    I just had spindump hammering IO on snow leopard when safari crashed, great post.
    Still relevant IMO

    Rob

  30. Thanks for letting us know, Rob.

  31. Nando Gallo says:

    Great post, my old powerbook 12″ Leopard is very grateful!

    Nando

  32. Alys says:

    Thank you! I have been trying to figure out why I was constantly having audio hiccups in video and sound playback on my 4yo macbook. This seems to have helped significantly. I realize my computer is a dinosaur these days, but I was sure I wasn’t the only one having this issue. Found this page via a google search. Very much appreciated!

  33. kirk says:

    It looks like there might be another related launchd process that should be disabled:
    /System/Library/LaunchDaemons/com.apple.spindump_symbolicator.plist

    $ man spindump_symbolicator
    spindump_symbolicator(8) BSD System Manager’s Manual spindump_symbolicator(8)

    NAME
    spindump_symbolicator — helper process for spindump(8)

  34. Pingback: pinboard July 31, 2011 — arghh.net

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" cssfile="">