X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=man%2Fsystemd-analyze.xml;h=ecfc7af2af4440699e16cafa55dc5fc82666da49;hp=a8adf877135ded8994d6f510a37e62148c050b72;hb=a2e0337875addaf08225fbf9b231435ba12a88b5;hpb=a65615ca5d78be0dcd7d9c9b4a663fa75f758606 diff --git a/man/systemd-analyze.xml b/man/systemd-analyze.xml index a8adf8771..ecfc7af2a 100644 --- a/man/systemd-analyze.xml +++ b/man/systemd-analyze.xml @@ -21,7 +21,8 @@ along with systemd; If not, see . --> - + systemd-analyze @@ -94,6 +95,12 @@ set-log-level LEVEL + + systemd-analyze + OPTIONS + verify + FILES + @@ -102,7 +109,8 @@ systemd-analyze may be used to determine system boot-up performance statistics and retrieve other state and tracing information from the - system and service manager. + system and service manager, and to verify the + correctness of unit files. systemd-analyze time prints the time spent in the kernel before @@ -170,6 +178,17 @@ described in systemd1). + systemd-analyze verify will + load unit files and print warnings if any errors are + detected. Files specified on the command line will be + loaded, but also any other units referenced by + them. This command works by prepending the directories + for all command line arguments at the beginning of the + unit load path, which means that all units files found + in those directories will be used in preference to the + unit files found in the standard locations, even if + not listed explicitly. + If no command is passed, systemd-analyze time is implied. @@ -182,19 +201,18 @@ - - + - Prints a short help - text and exits. + Operates on the user + systemd instance. - + - Shows performance data - of user sessions instead of the system - manager. + Operates on the system + systemd instance. This is the implied + default. @@ -206,12 +224,12 @@ dot command (see above), selects which dependencies are shown in the dependency graph. If - is passed + is passed, only dependencies of type After= or Before= are shown. If - is passed only dependencies of type + is passed, only dependencies of type Requires=, RequiresOverridable=, Requisite=, @@ -257,12 +275,19 @@ - + - - Do not pipe output into a pager. - + Do not invoke man to verify the existence + of man pages listen in Documentation=. + + + + + + + + @@ -270,45 +295,96 @@ Exit status - On success 0 is returned, a non-zero failure + On success, 0 is returned, a non-zero failure code otherwise. - Examples + Examples for <command>dot</command> - This plots all dependencies of any unit whose - name starts with avahi-daemon.: + + Plots all dependencies of any unit whose + name starts with <literal>avahi-daemon</literal> - $ systemd-analyze dot 'avahi-daemon.*' | dot -Tsvg > avahi.svg -$ eog avahi.svg + $ systemd-analyze dot 'avahi-daemon.*' | dot -Tsvg > avahi.svg + $ eog avahi.svg + - This plots the dependencies between all known target units: + + Plots the dependencies between all known target units - systemd-analyze dot --to-pattern='*.target' --from-patter='*.target' | dot -Tsvg > targets.svg + systemd-analyze dot --to-pattern='*.target' --from-pattern='*.target' | dot -Tsvg > targets.svg $ eog targets.svg - - + - Environment - - - - $SYSTEMD_PAGER - - - Pager to use when is not - given; overrides $PAGER. Setting this to - an empty string or the value cat is - equivalent to passing - . - - - + Examples for <command>verify</command> + + The following errors are currently detected: + + unknown sections and + directives, + + missing dependencies which are + required to start the given unit, + + + man pages listed in + Documentation= which are + not found in the system, + + commands listed in + ExecStart= and similar + which are not found in the system or not + executable. + + + + Misspelt directives + + $ cat ./user.slice +[Unit] +WhatIsThis=11 +Documentation=man:nosuchfile(1) +Requires=different.service + +[Service] +Desription=x + +$ systemd-analyze verify ./user.slice +[./user.slice:9] Unknown lvalue 'WhatIsThis' in section 'Unit' +[./user.slice:13] Unknown section 'Service'. Ignoring. +Error: org.freedesktop.systemd1.LoadFailed: + Unit different.service failed to load: + No such file or directory. +Failed to create user.slice/start: Invalid argument +user.slice: man nosuchfile(1) command failed with code 16 + + + + + Missing service units + + $ tail ./a.socket ./b.socket +==> ./a.socket <== +[Socket] +ListenStream=100 + +==> ./b.socket <== +[Socket] +ListenStream=100 +Accept=yes + +$ systemd-analyze verify ./a.socket ./b.socket +Service a.service not loaded, a.socket cannot be started. +Service b@0.service not loaded, b.socket cannot be started. + + + + See Also