24.7. 查看进程的 cgroup


您可以了解进程属于哪一个 控制组 (cgroup)。然后,您可以检查 cgroup ,以查找其使用哪个控制器和特定于控制器的配置。

流程

  1. 要查看某个进程所属的 cgroup,请运行 # cat proc/<PID>/cgroup 命令:

    # cat /proc/2467/cgroup
    0::/system.slice/example.service

    输出示例与关注进程相关。在这种情况下,它是由 PID 2467 来标识的进程,它属于 example.service 单元。您可以确定该过程是否放置在 systemd 单元文件规格定义的正确控制组中。

  2. 要显示 cgroup 使用哪些控制器和对应的配置文件,请检查 cgroup 目录:

    # cat /sys/fs/cgroup/system.slice/example.service/cgroup.controllers
    memory pids
    
    # ls /sys/fs/cgroup/system.slice/example.service/
    cgroup.controllers
    cgroup.events
    …​
    cpu.pressure
    cpu.stat
    io.pressure
    memory.current
    memory.events
    …​
    pids.current
    pids.events
    pids.max
注意

cgroup 版本 1 层次结构使用每个控制器模型。因此,/proc/PID/cgroup 文件中的输出显示,PID 所属的每个控制器下的 cgroups。您可以在控制器目录(/sys/fs/cgroup/<controller_name>/)中查找相应的 cgroup

其他资源

  • cgroups (7) 手册页
  • 什么是内核资源控制器
  • /usr/share/doc/kernel-doc-<kernel_version>/Documentation/admin-guide/cgroup-v2.rst 文件的文档(安装 kernel-doc 软件包)
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.