Advanced Mac OS X Diagnostics & Troubleshooting with sysdiagnose
Mac users who are dealing with particularly complex or troublesome issues with Mac OS can turn to an advanced diagnostics tool available from the command line in Mac OS X. The tool, called sysdiagnose, offers detailed technical analysis and reports of a huge variety of components of OS X and the Mac hardware, making it a potentially valuable tool for advanced troubleshooting and diagnostics needs.
sysdiagnose will collect a huge amount of information and data from the Mac, including a spindump and crash report, output of fs_usage and top, kernel extensions and kernel data, memory usage information and details about user processes, all system logs and kernel logs, a report from System Profiler, disk usage details and information, I/O kit details, network status and details, and additional process specific details if a process ID (PID) is specified with the command. Does that sound complicated? Well, it is intentionally so, and it’s overkill for most users, which is why this is intended for advanced users only. Frankly, the details offered by sysdiagnose will read like total gibberish to an average Mac user, and though there’s no harm in novices running the command, reading the data is going to look like geek greek.
Due to the complicated technical nature of sysdiagnose reports, average Mac users will likely not benefit from it much, and thus it’s really best reserved for advanced Mac users who understand how to turn the detailed system analysis and reports into action.
Running sysdiagnose and Getting Detailed Mac System & Performance Reports from Mac OS X
To run the advanced systems diagnostics in Mac OS X, you’ll need to launch Terminal and type the following command string:
sudo sysdiagnose -f ~/Desktop/
Using sudo needs an admin password, which is required to gain root access and generate the advanced system details. The -f flag is optional and used to specify the destination directory, in this case it puts the output file onto the desktop, otherwise the command will dump the system diagnostics into the tmp directory of Mac OS X at /var/tmp/
Before running sysdiagnose, the command will echo a message indicating what type of data is collected and that it may include some personal details, like your username, drive names, network names, and computer name. If you don’t want all that data dumped from your Mac into diagnostics files, well, don’t run the command. Here’s the full message that is displayed before sysdiagnose will run:
“This diagnostic tool generates files that allow Apple to investigate issues
with your computer and help Apple to improve its products. The generated files
may contain some of your personal information, which may include, but not be
limited to, the serial number or similar unique number for your device, your
user name, or your computer name. The information is used by Apple in
with any third party. By enabling this diagnostic tool and sending a copy of
the generated files to Apple, you are consenting to Apple’s use of the content
of such files.
Press ‘Enter’ to continue.”
Once the command is run it will take a minute or two to complete data gathering, when finished sys diagnose will report the output file is available at the specified path.
The file generated is usually about 5MB to 15MB, and is a tar gzip called “sysdiagnose_(date_).tar.gz”. Extracting the tar ball will reveal many files containing system reports, a system_profiler dump, and the output gathered from tons of different terminal commands, ranging from kextstat, to iotop and fs_usage, to vm_stat, and many others.
Generally speaking, the contents of these files and the output of the huge variety of reports are not particularly user friendly, extraordinarily detailed in a technical manner, and therefore completely overboard for most Mac user diagnostics needs. The technical nature of sysdiagnose output puts this very much in the realm of advanced users who are adept at reading complex diagnostics data and crash reports.
Those interested can gain additional details about sysdiagnose from the man page with man sysdiagnose, and you can always learn about the individual commands that are run by the tool too.
Remember that advanced problems with MacOS and Mac OS X and Macs are often best handled by certified professionals. Apple has excellent customer support via phone, in store with the Genius Bar, and the AppleCare extended warranty coverage is intended to handle nearly all problems that are encountered by most Mac owners, making the official support channels appropriate for most needs.