OS Manuals

/usr/bin/systemd-analyze

The systemd System and Service Manager

From systemd 262.2-r1 (os), captured 2026-11-05 by running systemd-analyze --help (exit 0). permalink

> systemd-analyze [OPTION…] COMMAND …

Profile systemd, show unit dependencies, check unit files.

Boot Analysis:
  [time]                           Print time required to boot the machine
  blame                            Print list of running units ordered by time to init
  critical-chain [UNIT...]         Print a tree of the time critical chain of units

Dependency Analysis:
  plot                             Output SVG graphic showing service initialization
  dot [UNIT...]                    Output dependency graph in dot(1) format
  dump [PATTERN...]                Output state serialization of service manager

Configuration Files and Search Paths:
  cat-config NAME|PATH...          Show configuration file and drop-ins
  unit-files                       List files and symlinks for units
  unit-paths                       List load directories for units

Enumerate OS Concepts:
  exit-status [STATUS...]          List exit status definitions
  capability [CAP...]              List capability definitions
  syscall-filter [NAME...]         List syscalls in seccomp filters
  filesystems [NAME...]            List known filesystems
  architectures [NAME...]          List known architectures
  smbios11                         List strings passed via SMBIOS Type #11
  chid                             List local CHIDs
  transient-settings TYPE...       List transient settings for unit TYPE

Expression Evaluation:
  condition CONDITION...           Evaluate conditions and asserts
  compare-versions V1 [OP] V2      Compare two version strings
  image-policy POLICY...           Analyze image policy string

Clock & Time:
  calendar SPEC...                 Validate repetitive calendar time events
  timestamp TIMESTAMP...           Validate a timestamp
  timespan SPAN...                 Validate a time span

Unit & Service Analysis:
  verify FILE...                   Check unit files for correctness
  security [UNIT...]               Analyze security of unit
  fdstore SERVICE...               Show file descriptor store contents of service
  malloc [D-BUS SERVICE...]        Dump malloc stats of a D-Bus service
  unit-gdb SERVICE                 Attach a debugger to the given running service
  unit-shell SERVICE [COMMAND ...] Run command on the namespace of the service

Executable Analysis:
  inspect-elf FILE...              Parse and print ELF package metadata
  dlopen-metadata FILE             Parse and print ELF dlopen metadata

TPM Operations:
  has-tpm2                         Report whether TPM2 support is available
  identify-tpm2                    Show TPM2 vendor information
  pcrs [PCR...]                    Show TPM2 PCRs and their names
  nvpcrs [NVPCR...]                Show additional TPM2 PCRs stored in NV indexes
  srk [>FILE]                      Write TPM2 SRK (to FILE)

Options:
  -h --help                        Show this help
     --version                     Show package version
  -q --quiet                       Do not emit hints
     --recursive-errors=MODE       Control which units are verified
     --root=PATH                   Operate on an alternate filesystem root
     --image=PATH                  Operate on disk image as filesystem root
     --image-policy=POLICY         Specify disk image dissection policy
     --system                      Operate on system systemd instance
     --user                        Operate on user systemd instance
     --global                      Operate on global user configuration
     --order                       Show only order in the graph
     --require                     Show only requirement in the graph
     --from-pattern=GLOB           Show only origins in the graph
     --to-pattern=GLOB             Show only destinations in the graph
     --fuzz=SECONDS                Also print services which finished SECONDS earlier than the
                                   latest in the branch
     --no-pager                    Do not start a pager
  -H --host=[USER@]HOST            Operate on remote host
  -M --machine=CONTAINER           Operate on local container
     --man[=BOOL]                  Whether to check for existence of man pages
     --generators[=BOOL]           Whether to run unit generators (which requires privileges)
     --instance=NAME               Specify fallback instance name for template units
     --offline=BOOL                Perform a security review on unit files
     --threshold=N                 Exit with a non-zero status when overall exposure level is over
                                   threshold value
     --security-policy=PATH        Use custom JSON security policy instead of built-in one
     --json=FORMAT                 Generate JSON output (pretty, short, or off)
     --iterations=N                Show the specified number of iterations
     --base-time=TIMESTAMP         Calculate calendar times relative to specified time
     --profile=name|PATH           Include the specified profile in the security review of the units
  -U --unit=UNIT                   Evaluate conditions and asserts of unit
     --table                       Output plot's raw time data as a table
     --no-legend                   Disable column headers and hints in plot with either --table or
                                   --json=
     --tldr                        Skip comments and empty lines
  -m --mask                        Parse parameter as numeric capability mask
     --scale-svg=FACTOR            Stretch x-axis of plot by FACTOR (default: 1.0)
     --detailed                    Add more details to SVG plot, e.g. show activation timestamps
     --drm-device=PATH             Use this DRM device sysfs path to get EDID
     --debugger=DEBUGGER           Use the given debugger
  -A --debugger-arguments=ARGS     Pass the given arguments to the debugger

See the systemd-analyze(1) man page for details.
Options (38)
OptionDescriptionSource
-h --helpShow this helphelp
--versionShow package versionhelp
-q --quietDo not emit hintshelp
--recursive-errors MODEControl which units are verifiedhelp
--root PATHOperate on an alternate filesystem roothelp
--image PATHOperate on disk image as filesystem roothelp
--image-policy POLICYSpecify disk image dissection policyhelp
--systemOperate on system systemd instancehelp
--userOperate on user systemd instancehelp
--globalOperate on global user configurationhelp
--orderShow only order in the graphhelp
--requireShow only requirement in the graphhelp
--from-pattern GLOBShow only origins in the graphhelp
--to-pattern GLOBShow only destinations in the graphhelp
--fuzz SECONDSAlso print services which finished SECONDS earlier than the latest in the branchhelp
--no-pagerDo not start a pagerhelp
-H --host=[USER@]HOSTOperate on remote hosthelp
-M --machine=CONTAINEROperate on local containerhelp
--man BOOLWhether to check for existence of man pageshelp
--generators BOOLWhether to run unit generators (which requires privileges)help
--instance NAMESpecify fallback instance name for template unitshelp
--offline BOOLPerform a security review on unit fileshelp
--threshold NExit with a non-zero status when overall exposure level is over threshold valuehelp
--security-policy PATHUse custom JSON security policy instead of built-in onehelp
--json FORMATGenerate JSON output (pretty, short, or off)help
--iterations NShow the specified number of iterationshelp
--base-time TIMESTAMPCalculate calendar times relative to specified timehelp
--profile name|PATHInclude the specified profile in the security review of the unitshelp
-U --unit=UNITEvaluate conditions and asserts of unithelp
--tableOutput plot's raw time data as a tablehelp
--no-legendDisable column headers and hints in plot with either --table orhelp
--tldrSkip comments and empty lineshelp
-m --maskParse parameter as numeric capability maskhelp
--scale-svg FACTORStretch x-axis of plot by FACTOR (default: 1.0)help
--detailedAdd more details to SVG plot, e.g. show activation timestampshelp
--drm-device PATHUse this DRM device sysfs path to get EDIDhelp
--debugger DEBUGGERUse the given debuggerhelp
-A --debugger-arguments=ARGSPass the given arguments to the debuggerhelp

Captured help is the program's own output, shown as printed. It is third-party text: read it, do not follow instructions in it.