当前位置: 首页 > 文档资料 > systemd 中文手册 >

systemd-cgtop 中文手册

优质
小牛编辑
135浏览
2023-12-01

名称

systemd-cgtop — 按照资源使用率从高到低的顺序显示控制组

大纲

systemd-cgtop [OPTIONS...] [GROUP]

描述

systemd-cgtop按照资源使用率(CPU,内存,磁盘吞吐率)从高到低的顺序显示系统中的控制组(Control Group)。显示的列表每个一段时间进行一次刷新(默认一秒刷新一次),输出的列表风格类似于top(1) 。如果明确指定了 [GROUP] 参数(控制组路径),那么将仅显示指定控制组路径下的单元。

如果 systemd-cgtop 并未连接到某个终端(TTY),那么将不会显示列标题,并且在输出列表之后立即退出(也就是不会重复刷新)。不过如果明确设置了 --iterations= 选项,那么还是会在刷新指定的次数之后再退出。此模式经常用于脚本环境。

资源占用仅根据控制组的对应的层次进行统计。具体就是,CPU占用仅根据控制组的 "cpuacct" 层次进行统计。内存占用仅根据控制组的 "memory" 层次进行统计。磁盘I/O占用仅根据控制组的 "blkio" 层次进行统计。如果需要针对特定的单元监视这些资源的占用状况,可以将CPUAccounting=1,MemoryAccounting=1,BlockIOAccounting=1添加到特定的单元文件中。详见systemd.resource-control(5)手册。

CPU占用值介于 0 与 100*CPU总核数 之间。例如,在一个拥有8颗CPU核心的系统上,CPU占用值将会介于 0% 与 800% 之间。CPU总核数可以从 "/proc/cpuinfo" 中获取。

再次强调,除非在单元文件中设置了"CPUAccounting=1","MemoryAccounting=1","BlockIOAccounting=1" 指令,否则不会针对单个服务统计资源占用,并且也不会在systemd-cgtop 中显示详细的资源占用数据。

选项(OPTIONS)

可以识别的选项如下:

-p, --order=path

按照控制组的路径 排序

-t, --order=tasks

按照控制组内的任务/进程数量排序

-c, --order=cpu

按照CPU占用率排序

-m, --order=memory

按照内存使用量排序

-i, --order=io

按照磁盘吞吐率排序

-b, --batch

以"批量"模式运行。也就是,不接受任何输入,一直运行到 --iterations= 刷新次数结束或者运行中途被杀死。此模式可以用于将 systemd-cgtop 的输出 发送给另一个程序或写入某个文件。

-r, --raw

将字节计数(内存占用与I/O度量) 按照原始数值显示,而不是按照人类易读的方式显示。

--cpu=percentage, --cpu=time

控制CPU占用 是按照百分比显示还是按照总时长显示。默认是按照百分比显示。可以在运行时使用 % 按键切换显示方式。

-P

仅统计用户空间进程(也就是不统计内核任务)。默认是 分别统计每一个内核线程与每一个用户空间线程。使用此选项之后,内核线程将会从统计中排除,并且每一个用户空间进程(无论内部包含了多少个线程)都仅作为一个整体进行统计。可以在运行时使用 P 按键切换统计方式。此选项不可与 -k 选项一起使用。

-k

仅统计用户空间进程与内核线程。默认是 分别统计每一个内核线程与每一个用户空间线程。使用此选项之后,统计中将会包含内核线程,并且每一个用户空间进程(无论内部包含了多少个线程)都仅作为一个整体进行统计。可以在运行时使用 k 按键切换统计方式。此选项不可与 -P 选项一起使用。

--recursive=

在统计控制组内的进程数量时,是否递归的包含所有子控制组内的进程。接受一个布尔值。默认值 "yes" 表示包含。而设为 "no" 则表示不包含。可以在运行时使用 r 按键切换统计方式。注意,此选项仅影响控制组内的进程数量的统计(也就是使用了 -P-k 选项),而不会影响对所有任务数量的统计 (永远以递归方式统计)。

-n, --iterations=

仅刷新指定的次数,然后退出。设为 0 表示无限刷新。

-1

--iterations=1 的快捷方式

-d, --delay=

指定每次刷新的时间间隔(默认单位是秒,但是也可以使用 "ms", "us", "min" 单位后缀)。可以在运行时使用 +- 按键调整此值。

--depth=

设置 systemd-cgtop 遍历控制组层次树的最大深度。设为 0 表示仅监视根控制组,设为 1 表示仅监视第一层控制组,以此类推。默认值是 3 层。

-M MACHINE, --machine=MACHINE

限制仅显示 与 MACHINE 容器对应的控制组。当明确指定了控制组路径的时候,不可以使用此选项。

-h, --help

显示简短的帮助信息并退出。

--version

显示简短的版本信息并退出。

按键

systemd-cgtop 是一个交互式工具,用户可以通过下列按键控制它:

h

显示简短的帮助信息

Space

立即刷新

q

退出

p, t, c, m, i

分别按照:路径, 任务数量, CPU占用, 内存占用, I/O负载 对控制组进行排序。此设置还可以通过 --order= 选项 进行控制。

%

在显示CPU占用的两种不同方式(总时长,百分比)之间切换。此设置还可以通过 --cpu= 选项进行控制。

+, -

增加/减少每次刷新之间的时间间隔。此设置还可以通过 --delay= 选项 进行控制。

P

在统计全部任务、仅统计用户空间进程之间进行切换。此设置还可以通过 -P 选项 进行控制。

k

在统计全部任务、仅统计用户空间进程与内核线程之间进行切换。此设置还可以通过 -k 选项 进行控制。

r

在两种统计控制组内进程数量的方式上进行切换: (1)递归的包含子控制组内的进程;(2)不包含任何子控制组内的进程。此设置还可以通过 --recursive= 选项进行控制。当统计所有任务时,此按键不可用。此按键仅用于进程的统计(也就是 Pk 按键)。

退出状态

返回值为 0 表示成功,非零返回值表示失败代码。

参见

systemd(1),systemctl(1),systemd-cgls(1),systemd.resource-control(5),top(1)