In this article, I will tell you what is Spindump in the macOS activity monitor, how to use it, and how to read the Spindump report in macOS.
1. What Is Spindump In macOS Activity Monitor?
- Spindump is a diagnostic tool in Activity Monitor on macOS that helps identify performance issues by generating a report of a process’s CPU usage over time.
- It can be used to identify processes that are using too much CPU or causing system slowdowns.
- When you select a process in Activity Monitor and click on the Spindump button, the tool will monitor the process for a certain amount of time and generate a report that shows the CPU usage of the process in a graphical format.
- This report can help you identify any performance issues that the process may be causing and take steps to resolve them.
- Spindump is a useful tool for troubleshooting performance issues on macOS, but it should be used with caution as it can consume a significant amount of system resources while generating the report.
2. How To Use macOS Spindump In Activity Monitor?
- Here are the steps to use Spindump in Activity Monitor on macOS.
- Open Activity Monitor on your Mac. You can find it in the Applications > Utilities folder or by using Spotlight search.
- In Activity Monitor, locate the process that you want to generate a Spindump report. You can sort the processes by CPU usage, memory usage, or other factors by clicking on the column headers.
- Select the process that you want to generate a Spindump report for by clicking on it once.
- Click the Gear button in the activity monitor top left corner, then click the Spindump menu item in the drop-down list.
- You may need to input the administrator password in the pop-up alert dialog.
- Wait for the Spindump report to be generated. The time it takes to generate the report will depend on the size and complexity of the process being monitored.
- Once the report is generated, you can view it in a pop-up Spindump window.
- Review the report to identify any performance issues that the process may be causing. You can use this information to take steps to optimize the process or troubleshoot any issues.
- Note that Spindump can consume a significant amount of system resources while generating the report, so it’s best to use it sparingly and only when necessary.
3. How To Read Spindump Report In macOS?
3.1 Where Is The Spindump Report File Saved?
- Once Spindump is finished, it will generate a report in text format. You can find this report in the /Library/Logs/DiagnosticReports folder.
- Look for a file with a name starting with “Analytics” and a date and time stamp.
3.2 Spindump Report File Content.
- Open the Spindump report in a text editor, such as TextEdit or Sublime Text.
- The report will contain a lot of information, including a list of all the processes that were running during the Spindump capture.
- Look for any processes that have high CPU usage or are causing performance issues. You can use the information in the Spindump report to diagnose and troubleshoot these issues.
- Below is a Spindump report content example.
Date/Time: 2023-04-02 10:38:05 +0800 End time: 2023-04-02 10:38:15 +0800 OS Version: Mac OS X 10.15.7 (Build 19H524) Architecture: x86_64 Report Version: 29 Data Source: Stackshots Shared Cache: 0x51fc000 4FB7B2BF-7DC2-3B00-8DD4-7BBACA918F2D Command: Android File Transfer Agent Path: /Users/songzhao/Library/Application Support/Google/Android File Transfer/Android File Transfer Agent.app/Contents/MacOS/Android File Transfer Agent Identifier: com.google.android.mtpagent Version: ??? (1.0.507.1136) Parent: launchd [1] PID: 801 Duration: 10.00s Duration Sampled: 9.96s Steps: 971 (10ms sampling interval) Hardware model: MacBookPro9,2 Active cpus: 4 Time Awake Since Boot: 6700s Fan speed: 1994 rpm ---------------------------------------- Heavy format: stacks are sorted by count ---------------------------------------- Process: Android File Transfer Agent [801] UUID: 40B4DF54-D212-3FC9-8261-BD44FD765A6D Path: /Users/songzhao/Library/Application Support/Google/Android File Transfer/Android File Transfer Agent.app/Contents/MacOS/Android File Transfer Agent Architecture: x86_64 Parent: launchd [1] UID: 501 Footprint: 1784 KB Start time: 2023-04-02 10:38:05 +0800 End time: 2023-04-02 10:38:15 +0800 Num samples: 971 (1-971) CPU Time: <0.001s (954.4K cycles, 269.4K instructions, 3.54c/i) Note: 1 idle work queue thread omitted Thread 0x1f80 DispatchQueue "com.apple.main-thread"(1) 971 samples (1-971) priority 31 (base 31) cpu time <0.001s (954.4K cycles, 269.4K instructions, 3.54c/i) 971 start + 52 (Android File Transfer Agent + 5588) [0x1002395d4] 971 main + 1426 (Android File Transfer Agent + 8634) [0x10023a1ba] 971 -[NSRunLoop(NSRunLoop) run] + 76 (Foundation + 1125503) [0x7fff34addc7f] 971 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 212 (Foundation + 393688) [0x7fff34a2b1d8] 971 CFRunLoopRunSpecific + 466 (CoreFoundation + 534867) [0x7fff3236d953] 971 __CFRunLoopRun + 1329 (CoreFoundation + 537825) [0x7fff3236e4e1] 971 __CFRunLoopServiceMachPort + 247 (CoreFoundation + 543271) [0x7fff3236fa27] 971 mach_msg_trap + 10 (libsystem_kernel.dylib + 3578) [0x7fff6b9fedfa] *969 ipc_mqueue_receive_continue + 0 (kernel + 1028272) [0xffffff80002fb0b0] *2 ipc_mqueue_receive_continue + 0 (kernel + 1028272) [0xffffff80002fb0b0] (runnable) Binary Images: 0x100238000 - 0x100241fff com.google.android.mtpagent (1.0.507.1136) <40B4DF54-D212-3FC9-8261-BD44FD765A6D> /Users/songzhao/Library/Application Support/Google/Android File Transfer/Android File Transfer Agent.app/Contents/MacOS/Android File Transfer Agent 0x7fff322eb000 - 0x7fff3276bfff com.apple.CoreFoundation 6.9 (1677.201) <B58E1454-15EC-3F2E-B8B6-B4F8E4DDF4A4> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation 0x7fff349cb000 - 0x7fff34d90fff com.apple.Foundation 6.9 (1677.201) <E020DC09-4221-3961-A450-638525789B38> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation 0x7fff6b9fe000 - 0x7fff6ba2afff libsystem_kernel.dylib (6153.141.16) <05E98124-C845-374E-A323-8D6CFB60926F> /usr/lib/system/libsystem_kernel.dylib *0xffffff8000200000 - 0xffffff8000bfffff kernel (6153.141.16) <64F23D6D-4C30-3FC4-B7C2-9EE0BBA0D29A> /System/Library/Kernels/kernel Process: 5A4RE8SF68.com.tencent.xinWeChat.IPCHelper [865] UUID: 6B87396E-3C00-3259-BF0C-065EA7BD4D86 Path: /Applications/WeChat.app/Contents/Library/LoginItems/5A4RE8SF68.com.tencent.xinWeChat.IPCHelper.app/Contents/MacOS/5A4RE8SF68.com.tencent.xinWeChat.IPCHelper Architecture: x86_64 Parent: launchd [1] UID: 501 Sudden Term: Tracked Footprint: 1040 KB Start time: 2023-04-02 10:38:05 +0800 End time: 2023-04-02 10:38:15 +0800 Num samples: 971 (1-971) Note: 1 idle work queue thread omitted Thread 0x25cf DispatchQueue "com.apple.main-thread"(1) 971 samples (1-971) priority 20 (base 20) 971 start + 1 (libdyld.dylib + 109769) [0x7fff6b8bdcc9] 971 ??? (5A4RE8SF68.com.tencent.xinWeChat.IPCHelper + 5422) [0x106fb752e] 971 -[NSRunLoop(NSRunLoop) run] + 76 (Foundation + 1125503) [0x7fff34addc7f] 971 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 212 (Foundation + 393688) [0x7fff34a2b1d8] 971 CFRunLoopRunSpecific + 466 (CoreFoundation + 534867) [0x7fff3236d953] 971 __CFRunLoopRun + 1329 (CoreFoundation + 537825) [0x7fff3236e4e1] 971 __CFRunLoopServiceMachPort + 247 (CoreFoundation + 543271) [0x7fff3236fa27] 971 mach_msg_trap + 10 (libsystem_kernel.dylib + 3578) [0x7fff6b9fedfa] *971 ipc_mqueue_receive_continue + 0 (kernel + 1028272) [0xffffff80002fb0b0] Binary Images: 0x106fb6000 - 0x106fb9fff 5A4RE8SF68.com.tencent.xinWeChat.IPCHelper 3.4.1 (21939) <6B87396E-3C00-3259-BF0C-065EA7BD4D86> /Applications/WeChat.app/Contents/Library/LoginItems/5A4RE8SF68.com.tencent.xinWeChat.IPCHelper.app/Contents/MacOS/5A4RE8SF68.com.tencent.xinWeChat.IPCHelper 0x7fff322eb000 - 0x7fff3276bfff com.apple.CoreFoundation 6.9 (1677.201) <B58E1454-15EC-3F2E-B8B6-B4F8E4DDF4A4> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation 0x7fff349cb000 - 0x7fff34d90fff com.apple.Foundation 6.9 (1677.201) <E020DC09-4221-3961-A450-638525789B38> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation 0x7fff6b8a3000 - 0x7fff6b8d9fff libdyld.dylib (750.6) <789A18C2-8AC7-3C88-813D-CD674376585D> /usr/lib/system/libdyld.dylib 0x7fff6b9fe000 - 0x7fff6ba2afff libsystem_kernel.dylib (6153.141.16) <05E98124-C845-374E-A323-8D6CFB60926F> /usr/lib/system/libsystem_kernel.dylib *0xffffff8000200000 - 0xffffff8000bfffff kernel (6153.141.16) <64F23D6D-4C30-3FC4-B7C2-9EE0BBA0D29A> /System/Library/Kernels/kernel
- There is a Refresh button and a Save… button on the top right corner of the Spindump window.
- You can click the Refresh button to refresh the Spindump report content, and click the Save… button to save the report content to a text file.
- Note that Spindump is a powerful tool that should be used with caution. It can use a lot of system resources and may impact performance while it is running. Be sure to only use Spindump when necessary and under the guidance of a professional.