sysdiagnose on macOS

Control + Option + Command + Shift + Period is taken. Say hello to sysdiagnose.

When looking for a convenient shortcut for centering messy windows, I bumped into macOS’s sysdiagnose, which diligently generates reports on one’s system at a press of ⇧⌃⌥⌘ ..

$ man sysdiagnose
sysdiagnose(1)               General Commands Manual             sysdiagnose(1)

NAME
       sysdiagnose  — gathers system-wide diagnostic information helpful in in‐
       vestigating system performance issues

SYNOPSIS
       sysdiagnose -h
       sysdiagnose  [-H]  [-v]   [-f   results_directory]   [-A   archive_name]
                   [-V  volume_path]  [-C, --compression compression_type] [-n]
                   [-k] [-F] [-S] [-u] [-Q] [-b] [-p] [-P] [-g] [-G] [-d]  [-D]
                   [-r] [-R] [process_name | pid]

DESCRIPTION
       The  sysdiagnose  tool  gathers system diagnostic information helpful in
       investigating system performance issues.  A great deal of information is
       harvested, spanning system state and configuration. The data  is  stored
       /var/tmp  directory.   sysdiagnose needs to be run as root. To cancel an
       in-flight  sysdiagnose  triggered  via  command  line  interface,  press
       Ctrl-\.   sysdiagnose  is automatically triggered when the following key
       chord is pressed: Control-Option-Command-Shift-Period.

   What sysdiagnose collects:
             •   A spindump of the system
             •   Several seconds of top output
             •   Data about kernel zones
             •   Status of loaded kernel extensions
             •   Resident memory usage of user processes
             •   Recent system logs
             •   A System Profiler report
             •   Recent crash reports
             •   Disk usage information
             •   I/O Kit registry information
             •   Network status
             •   If a specific process is supplied as an argument: list of mal‐
                 loc-allocated buffers in the process's heap is collected
             •   If a specific process is supplied as an argument:  data  about
                 unreferenced  malloc  buffers  in the process's memory is col‐
                 lected
             •   If a specific process is supplied as an argument:  data  about
                 the virtual memory regions allocated in the process
$ ls -lah /private/var/tmp/sysdiagnose*
: -rw-rw-r-- 1 jcf staff 343M Oct 31 12:08 /private/var/tmp/sysdiagnose_2025.10.31_12-05-29+0000_1387_macOS_Mac_25A362.tar.gz
: -rw-rw-r-- 1 jcf staff 339M Oct 31 12:17 /private/var/tmp/sysdiagnose_2025.10.31_12-14-43+0000_89854_macOS_Mac_25A362.tar.gz

Those archives are big!

$ du -hs /private/var/tmp/* | rg sysdiagnose
: 353M	/private/var/tmp/sysdiagnose_2025.10.31_12-05-29+0000_1387_macOS_Mac_25A362.tar.gz
: 353M	/private/var/tmp/sysdiagnose_2025.10.31_12-14-43+0000_89854_macOS_Mac_25A362.tar.gz

And might look like they’re growing if one assumes the passage of time between invocation of ls followed by du, but we’re seeing the size of file and space used on disk.