X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=man%2Fsystemd-analyze.xml;h=ecfc7af2af4440699e16cafa55dc5fc82666da49;hb=42d8fafc4bb2f890688e25fe886f88b54ce2c1e3;hp=f5a94242480163b82741fb1954a88c0874b0054c;hpb=e9dd9f9547350c7dc0473583b5c2228dc8f0ab76;p=elogind.git
diff --git a/man/systemd-analyze.xml b/man/systemd-analyze.xml
index f5a942424..ecfc7af2a 100644
--- a/man/systemd-analyze.xml
+++ b/man/systemd-analyze.xml
@@ -21,7 +21,8 @@
along with systemd; If not, see .
-->
-
+systemd-analyze
@@ -81,6 +82,24 @@
OPTIONSdotPATTERN
+ > file.dot
+
+
+ systemd-analyze
+ OPTIONS
+ dump
+
+
+ systemd-analyze
+ OPTIONS
+ set-log-level
+ LEVEL
+
+
+ systemd-analyze
+ OPTIONS
+ verify
+ FILES
@@ -88,8 +107,10 @@
Descriptionsystemd-analyze may be used
- to determine system boot-up performance of the current
- boot.
+ to determine system boot-up performance statistics and
+ retrieve other state and tracing information from the
+ system and service manager, and to verify the
+ correctness of unit files.
systemd-analyze time
prints the time spent in the kernel before
@@ -127,7 +148,7 @@
been started at what time, highlighting the time they
spent on initialization.
- systemd-analyze dot Generate
+ systemd-analyze dot generates
textual dependency graph description in dot format for
further processing with the GraphViz
dot1
@@ -143,6 +164,31 @@
any of these patterns match either the origin or
destination node.
+ systemd-analyze dump outputs
+ a (usually very long) human-readable serialization of
+ the complete server state. Its format is subject to
+ change without notice and should not be parsed by
+ applications.
+
+ systemd-analyze set-log-level
+ LEVEL changes the
+ current log level of the systemd
+ daemon to LEVEL (accepts
+ the same values as
+ 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.
@@ -155,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.
@@ -179,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=,
@@ -228,6 +273,21 @@
unless specified with a different unit,
e.g. "50ms".
+
+
+
+
+ Do not invoke man to verify the existence
+ of man pages listen in Documentation=.
+
+
+
+
+
+
+
+
+
@@ -235,27 +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 dot
- This plots all dependencies of any unit whose
- name starts with avahi-daemon.:
+
+ Plots all dependencies of any unit whose
+ name starts with avahi-daemon
- $ 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
+
+
-
+
+ Examples for verify
+
+ 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