gpt4 book ai didi

linux - 在不挂载的情况下读取 cgroups 数据

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:18:47 31 4
gpt4 key购买 nike

我有一些 cgroups 管理的服务(实际上在 docker 中运行)。为了公平地安排一些需要资源的任务,容器化服务需要知道它的确切(尽可能)资源使用情况。我决定从 cgroups 中读取这些指标。

但是有个问题。我知道两种从 docker 容器访问 cgroup 数据的方法。

  1. 直接从容器内部挂载 cgroups。为此,我需要为容器提供 CAP_SYS_ADMIN 能力。我认为这种只读取资源使用指标的方法太硬了。

  2. 使用 docker volume,指向主机 cgroups 挂载点。这个解决方案或多或少是合适的,但我正在寻找更优雅的方式。

我不是“内核专家”,也不熟悉内核源代码和文档,所以我可以问菜鸟的问题。

是否有任何内核接口(interface)允许我在不安装 cgroups 文件系统的情况下读取 cgroups 指标?

最佳答案

您在用户空间中获得的唯一接口(interface)是通过安装 cgroups 或来自 /proc/<pid>/cgourps ,(但仅限于进程所属的 cgroups)。如果您正在寻找用于读取 cgroups 数据的 syscall(),则它不可用 IMU。 Docker 需要运行 cgroups 服务(cgconfig、cgred 等),因此它需要您挂载 cgroups。

关于linux - 在不挂载的情况下读取 cgroups 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25875533/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com