]> git.ipfire.org Git - thirdparty/systemd.git/blame - man/systemd-cgtop.xml
cgtop: ignore kernel threads when counting tasks
[thirdparty/systemd.git] / man / systemd-cgtop.xml
CommitLineData
45d7a8bb 1<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*-->
caa94887 2<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
12b42c76 3 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
caa94887
LP
4
5<!--
6 This file is part of systemd.
7
8 Copyright 2012 Lennart Poettering
9
10 systemd is free software; you can redistribute it and/or modify it
5430f7f2
LP
11 under the terms of the GNU Lesser General Public License as published by
12 the Free Software Foundation; either version 2.1 of the License, or
caa94887
LP
13 (at your option) any later version.
14
15 systemd is distributed in the hope that it will be useful, but
16 WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
5430f7f2 18 Lesser General Public License for more details.
caa94887 19
5430f7f2 20 You should have received a copy of the GNU Lesser General Public License
caa94887
LP
21 along with systemd; If not, see <http://www.gnu.org/licenses/>.
22-->
23
dfdebb1b 24<refentry id="systemd-cgtop"
798d3a52
ZJS
25 xmlns:xi="http://www.w3.org/2001/XInclude">
26
27 <refentryinfo>
28 <title>systemd-cgtop</title>
29 <productname>systemd</productname>
30
31 <authorgroup>
32 <author>
33 <contrib>Developer</contrib>
34 <firstname>Lennart</firstname>
35 <surname>Poettering</surname>
36 <email>lennart@poettering.net</email>
37 </author>
38 </authorgroup>
39 </refentryinfo>
40
41 <refmeta>
42 <refentrytitle>systemd-cgtop</refentrytitle>
43 <manvolnum>1</manvolnum>
44 </refmeta>
45
46 <refnamediv>
47 <refname>systemd-cgtop</refname>
48 <refpurpose>Show top control groups by their resource usage</refpurpose>
49 </refnamediv>
50
51 <refsynopsisdiv>
52 <cmdsynopsis>
53 <command>systemd-cgtop</command>
54 <arg choice="opt" rep="repeat">OPTIONS</arg>
55 </cmdsynopsis>
56 </refsynopsisdiv>
57
58 <refsect1>
59 <title>Description</title>
60
61 <para><command>systemd-cgtop</command> shows the top control
62 groups of the local Linux control group hierarchy, ordered by
63 their CPU, memory, or disk I/O load. The display is refreshed in
64 regular intervals (by default every 1s), similar in style to
780fe62e
CD
65 <citerefentry project='man-pages'><refentrytitle>top</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para>
66
45d7a8bb
LP
67 <para>If <command>systemd-cgtop</command> is not connected to a
68 tty, no column headers are printed and the default is to only run
69 one iteration. The <varname>--iterations=</varname> argument, if
70 given, is honored. This mode is suitable for scripting.</para>
798d3a52
ZJS
71
72 <para>Resource usage is only accounted for control groups in the
73 relevant hierarchy, i.e. CPU usage is only accounted for control
74 groups in the <literal>cpuacct</literal> hierarchy, memory usage
75 only for those in <literal>memory</literal> and disk I/O usage for
76 those in <literal>blkio</literal>. If resource monitoring for
77 these resources is required, it is recommended to add the
78 <varname>CPUAccounting=1</varname>,
79 <varname>MemoryAccounting=1</varname> and
80 <varname>BlockIOAccounting=1</varname> settings in the unit files
81 in question. See
82 <citerefentry><refentrytitle>systemd.resource-control</refentrytitle><manvolnum>5</manvolnum></citerefentry>
83 for details.</para>
84
b0f5a510
UTL
85 <para>The CPU load value can be between 0 and 100 times the number of
86 processors the system has. For example, if the system has 8 processors,
87 the CPU load value is going to be between 0% and 800%. The number of
88 processors can be found in <literal>/proc/cpuinfo</literal>.</para>
89
798d3a52
ZJS
90 <para>To emphasize this: unless
91 <literal>CPUAccounting=1</literal>,
92 <literal>MemoryAccounting=1</literal> and
93 <literal>BlockIOAccounting=1</literal> are enabled for the
94 services in question, no resource accounting will be available for
95 system services and the data shown by
96 <command>systemd-cgtop</command> will be incomplete.</para>
97 </refsect1>
98
99 <refsect1>
100 <title>Options</title>
101
102 <para>The following options are understood:</para>
103
104 <variablelist>
105 <varlistentry>
106 <term><option>-p</option></term>
45d7a8bb 107 <term><option>--order=path</option></term>
798d3a52
ZJS
108
109 <listitem><para>Order by control group
110 path name.</para></listitem>
111 </varlistentry>
112
113 <varlistentry>
114 <term><option>-t</option></term>
45d7a8bb 115 <term><option>--order=tasks</option></term>
798d3a52 116
45d7a8bb 117 <listitem><para>Order by number of processes in control group.</para></listitem>
798d3a52
ZJS
118 </varlistentry>
119
120 <varlistentry>
121 <term><option>-c</option></term>
45d7a8bb 122 <term><option>--order=cpu</option></term>
798d3a52
ZJS
123
124 <listitem><para>Order by CPU load.</para></listitem>
125 </varlistentry>
126
127 <varlistentry>
128 <term><option>-m</option></term>
45d7a8bb 129 <term><option>--order=memory</option></term>
798d3a52
ZJS
130
131 <listitem><para>Order by memory usage.</para></listitem>
132 </varlistentry>
133
134 <varlistentry>
135 <term><option>-i</option></term>
45d7a8bb 136 <term><option>--order=io</option></term>
798d3a52
ZJS
137
138 <listitem><para>Order by disk I/O load.</para></listitem>
139 </varlistentry>
140
141 <varlistentry>
142 <term><option>-b</option></term>
143 <term><option>--batch</option></term>
144
145 <listitem><para>Run in "batch" mode: do not accept input and
146 run until the iteration limit set with
45d7a8bb 147 <option>--iterations=</option> is exhausted or until killed.
798d3a52
ZJS
148 This mode could be useful for sending output from
149 <command>systemd-cgtop</command> to other programs or to a
150 file.</para></listitem>
151 </varlistentry>
152
a2c9f631
CD
153 <varlistentry>
154 <term><option>-r</option></term>
155 <term><option>--raw</option></term>
156
157 <listitem><para>Format byte counts (as in memory usage and IO metrics)
158 with raw numeric values rather than human-readable
159 numbers.</para></listitem>
160 </varlistentry>
161
45d7a8bb
LP
162 <varlistentry>
163 <term><option>--cpu=percentage</option></term>
164 <term><option>--cpu=time</option></term>
165
166 <listitem><para>Controls whether the CPU usage is shown as
167 percentage or time. By default the CPU usage is shown as
168 percentage.</para></listitem>
169 </varlistentry>
170
41ba8b6e
LP
171 <varlistentry>
172 <term><option>-k</option></term>
173
174 <listitem><para>Include kernel threads when counting tasks in
175 control groups. By default, kernel threads are not included in
176 the count.</para></listitem>
177 </varlistentry>
178
798d3a52
ZJS
179 <varlistentry>
180 <term><option>-n</option></term>
181 <term><option>--iterations=</option></term>
182
780fe62e
CD
183 <listitem><para>Perform only this many iterations. A value of 0
184 indicates that the program should run indefinitely.</para></listitem>
798d3a52
ZJS
185 </varlistentry>
186
187 <varlistentry>
188 <term><option>-d</option></term>
189 <term><option>--delay=</option></term>
190
191 <listitem><para>Specify refresh delay in seconds (or if one of
192 <literal>ms</literal>,
193 <literal>us</literal>,
194 <literal>min</literal> is specified as unit in this time
195 unit).</para></listitem>
196 </varlistentry>
197
198 <varlistentry>
199 <term><option>--depth=</option></term>
200
201 <listitem><para>Maximum control group tree traversal depth.
202 Specifies how deep <command>systemd-cgtop</command> shall
203 traverse the control group hierarchies. If 0 is specified,
204 only the root group is monitored. For 1, only the first level
205 of control groups is monitored, and so on. Defaults to
206 3.</para></listitem>
207 </varlistentry>
208
209 <xi:include href="standard-options.xml" xpointer="help" />
210 <xi:include href="standard-options.xml" xpointer="version" />
211 </variablelist>
212
213 </refsect1>
214
215
216 <refsect1>
217 <title>Keys</title>
218
219 <para><command>systemd-cgtop</command> is an interactive tool and
220 may be controlled via user input using the following keys:</para>
221
222 <variablelist>
223 <varlistentry>
224 <term>h</term>
225
226 <listitem><para>Shows a short help text.</para></listitem>
227 </varlistentry>
228
229 <varlistentry>
230 <term>SPACE</term>
231
232 <listitem><para>Immediately refresh output.</para></listitem>
233 </varlistentry>
234
235 <varlistentry>
236 <term>q</term>
237
238 <listitem><para>Terminate the program.</para></listitem>
239 </varlistentry>
240
241
242 <varlistentry>
243 <term>p</term>
244 <term>t</term>
245 <term>c</term>
246 <term>m</term>
247 <term>i</term>
248
249 <listitem><para>Sort the control groups by path, number of
250 tasks, CPU load, memory usage, or IO load, respectively.
251 </para></listitem>
252 </varlistentry>
253
254 <varlistentry>
255 <term>%</term>
256
257 <listitem><para>Toggle between showing CPU time as time or
258 percentage.</para></listitem>
259 </varlistentry>
260
261 <varlistentry>
262 <term>+</term>
263 <term>-</term>
264
265 <listitem><para>Increase or decrease refresh delay,
266 respectively.</para></listitem>
267 </varlistentry>
268
269 </variablelist>
270 </refsect1>
271
272 <refsect1>
273 <title>Exit status</title>
274
275 <para>On success, 0 is returned, a non-zero failure code
276 otherwise.</para>
277 </refsect1>
278
279 <refsect1>
280 <title>See Also</title>
281 <para>
282 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
283 <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
284 <citerefentry><refentrytitle>systemd-cgls</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
285 <citerefentry><refentrytitle>systemd.resource-control</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
286 <citerefentry project='man-pages'><refentrytitle>top</refentrytitle><manvolnum>1</manvolnum></citerefentry>
287 </para>
288 </refsect1>
caa94887
LP
289
290</refentry>