Home > Wiki Tips

What is Spindump on Mac & Fix Spindump Using High CPU

Updated on Tuesday, August 27, 2024

Written by

Jenny Zeng

Approved by

Jessica Shee

English

Summary: This post tells you what spindump on Mac is, how to run spindump to debug sluggishness in applications, and how to disable spindump when it tops your Mac's CPU.

If you open Activity Monitor and click the View menu at the top, you will notice a feature called "Run Spindump." Checking the running processes, you will find spindump again and its helper agent "spindump_agent." At times, spindump may consume high CPU usage on Mac, accompanied by loud fan noises and slower performance.

You are likely wondering about the purpose of the macOS spindump and what to do when it takes up your Mac's CPU. Here, we will break it down for you.

What is spindump on Mac?

Spindump is a debugging tool used by various system components to create reports when an unresponsive app is forced to quit, thus often requested by support or developer to determine the cause when an app hangs or crashes. However, the debug information spindump collects may not be very helpful for average users and sometimes slow down your Mac or make the fan noisy when other processes crash.

The reports spindump generated are stored at /Library/Logs/DiagnosticReports/, which you can also view in Console

For normal application force quits, spindump displays a dialog box to alert you of the crash and allow you to view the details or send a report to Apple. Spindump is enabled by default and runs automatically in the background, but you can initiate it manually. When run manually, spindump samples user and kernel stacks for every process in the system. 

How to create a spindump file on Mac?

A spindump file is useful for troubleshooting issues that may cause a program to hang, crash, or not run well. If your application crashes often, you can create a spindump file to send to the app developer for further assistance with the steps below.

 Note: The app in question needs to be active and demonstrate the lag when the report is taken. This way, spindump can show you what the app was doing while experiencing the issue.

  1. Open Finder, then navigate to Applications > Utilities.
  2. Launch Activity Monitor.
  3. Select the problematic app from the list of processes.
  4. Click "View" at the top and choose "Run Spindump."
  5. Wait for spindump to generate the report.
  6. Click "Save" to save it to a preferred location.

Is it safe to kill spindump in Activity Monitor?

If your Mac's fan runs at full speed and further investigation discovers that the spindump process is hogging much of the CPU, you may be tempted to kill spindump in Activity Monitor, hoping that the issue can go away. But is it safe to kill spindump?

The answer is yes. The problem with killing a process or app is that this may corrupt the files it writes to. Since spindump only writes diagnostic logs, it's one of the safest processes to be killed. However, terminating spindump doesn't fix the real problem, as spindump will restart when needed.

When an application or process hangs or consumes a large amount of CPU, the spindump process will fire up to take a snapshot of what was happening for future debugging and consumes the CPU of its own. Since spindump takes CPU, other processes may work longer to finish a task, activating spindump again. The resources will only be released when everything has finished.

In which case, you can wait until the processes settle down or quit the apps or processes that may initiate it. If the issue is hardware-related, you can reset the NVRAM to see if it helps.

How to disable spindump on Mac if it consumes high CPU usage?

If you don't want to quit the app that triggered spindump and are willing to give it more time to load, you can disable spindump on Mac to speed up the process. Note that you need to disable SIP first if your Mac is running macOS High Sierra or later.

 Warning: If spindump is disabled, it will stop working automatically to generate reports, which may not be desirable for developers.

Here are the detailed steps to disable macOS spindump:

  1. Restart your Mac in macOS Recovery.
  2. Open Utilities > Terminal.
  3. Type in the following command in Terminal and hit Enter.csrutil disable
  4. Reboot your Mac.
  5. Launch Terminal from the Applications > Utilities folder.
  6. Copy and paste the command below and press Enter.sudo su launchctl unload -w /System/Library/LaunchDaemons/com.apple.spindump.plist
  7. Input your password and hit Enter again.
  8. Type in the following commands one by one and press Enter after each command to execute it.mount -uw /killall Findercd /System/Library/LaunchDaemonsmv com.apple.spindump.plist com.apple.spindump.plist.bak
  9. Exit Terminal.
  10. Repeat steps 1- 3 but change the command to re-enable SIP on Mac.csrutil enable
  11. Reboot your Mac.

In some cases, you may find tailspind working closely with spindump and consumes a majority of CPU too. If so, you can disable tailspind as well. To do that, repeat the steps above but replace spindump on the above commands with tailspind.

Suppose you are still experiencing issues after disabling spindump; consider backing up your Mac and doing a clean macOS reinstall.

Please share this post if it's useful.