我有一些cgroups管理的服务(实际上在docker中运行)。为了公平地计划一些需要资源的任务,容器化服务需要准确(尽可能)了解资源使用情况。我决定从cgroups读取此指标。
但有一个问题。我知道两种从docker容器访问cgroup数据的方法。
我不是“内核专家”,也不熟悉内核源代码和文档,因此我可以提出noob的问题。
是否有任何内核接口(interface)可以让我读取cgroup指标而无需挂载cgroups文件系统?
最佳答案
您在用户空间中获得的唯一接口(interface)是通过装入cgroup或从/proc/<pid>/cgourps
(但仅限于进程所属的cgroup)。如果您正在寻找用于读取cgroups数据的syscall(),则该IMU不可用。 Docker需要运行cgroups服务(cgconfig,cgred等),因此需要您挂载cgroups。