> 软件包与系统管理 > systemd-cgls

systemd-cgls: 查看控制组内容

systemd-cgls 是一个命令,用于递归地显示 systemd 管理的控制组(cgroup)的层次结构和内容。它有助于了解系统中的进程、服务、用户会话等是如何组织到资源组中的,并可以直观地查看资源管理和隔离状态。

概述

systemd-cgls 利用 Linux 内核的 cgroup 功能来可视化系统资源管理和隔离。它以树状结构显示每个 cgroup 所属的进程 ID (PID) 以及该组的子 cgroup,从而帮助用户轻松理解系统复杂的资源分配结构。

主要特点

  • 可视化 cgroup 层次结构
  • 显示每个 cgroup 所属的进程 ID (PID)
  • 查看系统资源隔离和分配状态
  • 了解服务、用户会话等资源的组织方式

主要选项

systemd-cgls 命令的主要选项用于控制输出的 cgroup 信息范围和格式。

显示/过滤选项

其他选项

生成的命令:

请尝试组合命令。

描述:

`systemd-cgls` 执行命令。

通过组合这些选项,您可以与 AI 一起虚拟地执行命令。

使用示例

通过 systemd-cgls 命令的各种使用示例,了解如何有效地查询 cgroup 信息。

显示基本 cgroup 层次结构

systemd-cgls

显示系统的基本 cgroup 层次结构以及每个组所属的进程 ID。

显示所有 cgroup,包括空的 cgroup

systemd-cgls -a

显示所有 cgroup,包括当前活动的 cgroup 和空的 cgroup,以了解整体的 cgroup 结构。

显示特定 systemd 单元的 cgroup

systemd-cgls --unit sshd.service

例如,查看与 SSH 守护进程 (sshd.service) 相关的 cgroup 信息。

显示用户会话 cgroup 的完整路径

systemd-cgls -p --unit user@1000.service

显示用户 ID 1000 的会话 cgroup 的完整路径,以获取详细信息。用户 ID 可以通过 `id -u` 命令获取。

不缩减输出内容显示所有 cgroup

systemd-cgls --full -a

显示完整的 cgroup 路径或名称,不进行缩减,并包含空的 cgroup。

提示与注意事项

systemd-cgls 对于理解系统资源管理状态和进行调试非常有用。可以利用以下提示更有效地使用该命令。

理解 cgroup

cgroup 是 Linux 内核的一项功能,用于管理进程组的资源(CPU、内存、I/O 等)分配和限制。systemd 利用此功能来隔离和管理服务、用户会话等。

  • 应用场景: 分析系统资源使用情况、查看服务隔离状态、在解决问题时跟踪特定进程组
  • 与其他命令的结合使用: 可以与 `systemctl status` 一起使用来查看特定服务的 cgroup 信息,或与 `ps auxf` 结合使用来理解进程树。

解读输出

在输出的树状结构中,每个节点代表一个 cgroup,其下方列出的数字是属于该 cgroup 的进程的 PID。通过这种方式,可以直观地了解哪些进程属于哪个资源组。



相同类别命令