13

I have an old Mac, where if an App take some time to load (slow HD), the spindump kicks in, completely disabling the machine for close to 10 minutes.

There is one post on the web warning that killing spindump can cause some corruption, so, better safe then sorry.

Would be great if there was a way to not run spindump on specific Apps, or give them more time before declaring them as 'unresponsive', but I doubt there is.

Is it safe to just kill the process? Is there a safer way (like asking its parent to to so)?


Minor update: Seems that the same App that triggered the spindump, no longer does so. It still takes the same time to load, but that no longer triggers spindump.
If you're in a similar situation, it does quiet down eventually (as apposed to launch on every stall). It has happened about 3-4 times (one for each spinning ball), each time it took around 3-8 minutes to calm down and release the RAM.

6

If you have a backup of the Mac and know you can restore / reinstall and not lose data - sure kill spindump and see if it helps. Killing apps usually just corrupts the files it writes to and spindump just writes diagnostic logs, so it's about one of the safest things you could choose to kill abruptly on the Mac.

Since spindump is there to report on badly performing programs, perhaps looking at the logs or just not using the app that triggers it would be the way to go. here is an expert explanation that both the tailspin and spindump processes need to be removed. Keep in mind, this removal may only lasts only until the next macOS update gets applied.

This concludes the "I know my Mac is slow - can I disable spindump entirely or cause it to run and exit in 10 seconds." scenario since I can see an app that performs so badly, that it forever will queue up a new spindump process or have spindump never reach the point where it thinks your Mac is healthy enough to stop collecting signs of a temporary problem.

In almost all cases - I excessive presence of spins to hunt down these slow processes for our work Macs and look for long term solutions and be sure that the hardware isn't underpowered for the apps it needs to run. Slow HD is a sure sign that it's relocating blocks and about to fail, so I would make plans to be sure your data is protected - when the spinning drive fails it could be costly (several hundreds to tens of hundreds of dollars to recover).

  1. Be sure you have a backup
  2. Be sure your volume is journaled to minimize and repair or rebuild time if killing an app causes file loss or interrupts a write
  3. Start killing bad apps and take notes and names.
3
  • 1
    The App that is triggering the spindump is one I actually want to use and it's only happens on launch. I know spindump is mostly collecting report data, but I can see a scenario where after killing the process, there could be an issue where it fails to write again? (guessing really). Sure I can restore data, but would much prefer to know more about it. I'm guessing that this process ends, or terminated by its parent/system at some point safely. – bauerMusic Dec 9 '17 at 17:36
  • 1
    You're safe @bauerMusic - the HFS+ filesystem protects itself by journaling, so unless you have disabled that you won't have a corrupt filesystem and spindump won't cause damage to any files. You can also sample it in activity monitor to inspect every file it has open if you want. Killing other processes is not generally safe - beware – bmike Dec 9 '17 at 17:47
  • @bmike Right, rectified. – bauerMusic Dec 10 '17 at 3:46
8

It's probably safe to even disable them if you are not interested in the generated system analytics. Full procedure to do so is documented on Disable tailspind and spindump to Speed Up your Mac. In a nutshell:

  • Disable SIP
  • Unload/rename LaunchDaemon for spindump

    sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.spindump.plist
    sudo mv /System/Library/LaunchDaemons/com.apple.spindump.plist{,.bak} 
    
  • Do the same for com.apple.tailspind.plist

  • Enable SIP

You probably need to redo this with each macOS update.

2
  • Nicely done - I forgot about tailspind as well and have edited a couple sentences out of my answer now that this is known here. – bmike Jan 20 '18 at 15:23
  • From the linked article: "The problem is that it would create a cascading scenario of constrained CPU resources where one app would run, then spindump/tailspind would run, consuming CPU of its own, causing other apps to run for too long, causing spindump/tailspind to fire up again … and so on and so forth [...] I certainly don’t need extra CPU resources dedicated to telling me that something I’ve decided to run is using the CPU. I know that already." This really begs the question of WTF Apple was thinking here... – Wowfunhappy Nov 11 '20 at 23:02
0

For Big Sur [Beta] the trick seems to be

sudo launchctl disable system/com.apple.spindump
sudo launchctl disable system/com.apple.tailspind

According to the comments on that MacObserver post and on this Reddit post: https://old.reddit.com/r/MacOSBeta/comments/hqeak2/tailspind_and_spindump_cpu_usage_and_workarounds/

0

First, I think disabling those routines is a temporary fix. When I ran Activity Monitor I saw that spinddump and tailspind were taking up a fair amount of CPU time, as measured by elapsed time run. I did the removal as documented below, but the machine still wasn’t running like I thought it should. Mail was crashing, safari took too long to load, and other things. So I set up a second time machine backup overnight, and with two backups on separate physical drives went ahead with a restart in Recovery Mode, did a disk reformat of the main drive, did a new install of the OS, then imported user files from one of the Time Machine backups. Now all is good. Even though Spindump and tailspind were reinstalled they don’t run anymore and things are running like they should. All that said, disabling spindump and tailspind so you can get functional enough to make a second Time machine backup and do a clean install may make a lot of sense for you.

The above are great answers. I'm adding this because people coming here who are running Catalina need some additional steps found online but with some effort.

With Catalina parts of the system have become readonly even for root, so a couple of extra steps are needed. The steps are to Disable SIP, remount /, killall Finder, turn off and rename spindump and tailspind, reenable SIP.

First, follow Dave Hamilton's great explanation of turning off SIP found in his great spindump/tailspind writeup, then substiture the following instead of his instructions on doing the plist modifications:

sudo su
launchctl unload -w /System/Library/LaunchDaemons/com.apple.spindump.plist
launchctl unload -w /System/Library/LaunchDaemons/com.apple.tailspind.plist
mount -uw /
killall Finder
cd /System/Library/LaunchDaemons
mv com.apple.spindump.plist com.apple.spindump.plist.bak
mv com.apple.tailspind.plist com.apple.tailspind.plist.bak

Go back to Dave Hamilton's description and enable SIP.

I already contacted Dave Hamilton, and he appreciated the note that he needs to update is nice writeup to deal with the change Catalina brought.

My mac went from unusable to near normal with these changes. I'm running a Mac mini (Late 2014) 2.6 GHz Dual-Core Intel Core i5 with 8 GB 1600 MHz DDR3. After the initial improvement there were still problems, so, as I explained above, I did a clean install first having two backups on separate physical drives. My conclusion is that if you are at the point of seeing tailspind and spindump running a lot you may need to consider doing a clean install of the OS.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .