From 83787333bd75f3fb5d2d844a5d5dbf68d93f7f3f Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 19 Jul 2013 19:28:16 +0200 Subject: man: update documentation of systemctl cgroup commands --- TODO | 1 - man/systemctl.xml | 107 +++++++++------------------------------------- src/systemctl/systemctl.c | 2 +- 3 files changed, 21 insertions(+), 89 deletions(-) diff --git a/TODO b/TODO index 0b11599b8a..33308ef18a 100644 --- a/TODO +++ b/TODO @@ -46,7 +46,6 @@ CGroup Rework Completion: * introduce high-level settings for RT budget, swappiness * wiki: document new bus APIs of PID 1 (transient units, Reloading signal) -* review: systemctl commands * Send SIGHUP and SIGTERM in session scopes diff --git a/man/systemctl.xml b/man/systemctl.xml index 982051778e..4bfce95ffa 100644 --- a/man/systemctl.xml +++ b/man/systemctl.xml @@ -433,10 +433,7 @@ along with systemd; If not, see . is lost on reboot, the changes are lost too. Similar, when used with - set-cgroup-attr, - unset-cgroup-attr, - set-cgroup and - unset-cgroup, make changes only + set-property make changes only temporarily, so that they are lost on the next reboot. @@ -719,93 +716,28 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service - get-cgroup-attr NAME ATTRIBUTE... + set-property NAME ASSIGNMENT... - Retrieve the specified control group attributes of the - specified unit. Takes a unit name and one or more attribute - names such as cpu.shares. This will - output the current values of the specified attributes, - separated by new-lines. For attributes that take a list of - items, the output will be newline-separated, too. This - operation will always try to retrieve the data in question - from the kernel first, and if that is not available, use the - configured values instead. Instead of low-level control - group attribute names, high-level pretty names may be used, - as used for unit execution environment configuration, see - systemd.exec5 - for details. For example, passing - memory.limit_in_bytes and - MemoryLimit is equivalent. - - - - - set-cgroup-attr NAME ATTRIBUTE VALUE... - - - Set the specified control group attribute of the - specified unit to the specified value. Takes a unit - name and an attribute name such as - cpu.shares, plus one or more values - (multiple values may only be used for attributes that take - multiple values). This operation will immediately update the - kernel attribute for this unit and persistently store this - setting for later reboots (unless - is passed, in which case the setting is not saved - persistently and only valid until the next reboot.) Instead - of low-level control group attribute names, high-level pretty - names may be used, as used for unit execution environment - configuration, see - systemd.exec5 - for details. For example, passing - memory.limit_in_bytes and - MemoryLimit is equivalent. This operation - will implicitly create a control group for the unit in the - controller the attribute belongs to, if needed. For - attributes that take multiple values, this operation will - append the specified values to the previously set values - list (use unset-cgroup-attr to reset the - list explicitly). For attributes that take a single value - only, the list will be reset implicitly. - - - - - unset-cgroup-attr NAME ATTRIBUTE... + Set the specified unit properties at runtime where + this is supported. This allows changing configuration + parameter properties such as resource management controls at + runtime. Not all properties may be changed at runtime, but + many resource management settings (primarily those in + systemd.cgroup5) + may. The changes are applied instantly, and stored on disk + for future boots, unless is + passed in which case the settings only apply until the next + reboot. The syntax of the property assignment follows + closely the syntax of assignments in unit files. - Unset the specified control group attributes - of the specified unit. Takes a unit name and one or more - attribut names such as cpu.shares. This - operation might or might not have an immediate effect on the - current kernel attribute value. This will remove any - persistently stored configuration values for this attribute - (as set with set-cgroup-attr before), - unless is passed, in which case the - configuration is reset only until the next reboot. Again, - high-level control group attributes may be used instead of the - low-level kernel ones. For attributes which take multiple - values, all currently set values are reset. - - - - - set-cgroup NAME CGROUP... - unset-cgroup NAME CGROUP... + Example: systemctl set-property foobar.service CPUShares=777 - Add or remove a unit to/from a specific - control group hierarchy and/or control group path. Takes a - unit name, plus a control group specification in the syntax - CONTROLLER:PATH - or CONTROLLER. In the latter syntax - (where the path is omitted), the default unit control group - path is implied. Examples: cpu or - cpu:/foo/bar. If a unit is removed from a - control group hierarchy, all its processes will be moved to the - root group of the hierarchy and all control group attributes - will be reset. These operations are immediately reflected in - the kernel hierarchy, and stored persistently to disk (unless - is passed). + Note that this command allows changing multiple + properties at the same time, which is preferable over + setting them individually. Like unit file configuration + settings assigning the empty list to list parameters will + reset the list. @@ -1354,6 +1286,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service journalctl1, loginctl1, systemd.unit5, + systemd.cgroupq5, systemd.special7, wall1, systemd.preset5 diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c index c9f9981f9c..9f47b2cf7c 100644 --- a/src/systemctl/systemctl.c +++ b/src/systemctl/systemctl.c @@ -4788,7 +4788,7 @@ static int systemctl_help(void) { " list-jobs List jobs\n" " cancel [JOB...] Cancel all, one, or more jobs\n\n" "Status Commands:\n" - " dump Dump server status\n" + " dump Dump server status\n\n" "Snapshot Commands:\n" " snapshot [NAME] Create a snapshot\n" " delete [NAME...] Remove one or more snapshots\n\n" -- cgit v1.2.3-54-g00ecf