gpt4 book ai didi

linux - 为什么同一个任务可以在不同的cgroup中

转载 作者:太空宇宙 更新时间:2023-11-04 04:14:43 25 4
gpt4 key购买 nike

我 cat/cgroup/memory/tasks 和/cgroup/cpuset/tasks,发现很多重复的任务。不是说一个任务只能出现在一个cgroup层次结构中吗?我对cgroup机制不是很熟悉,内存和cpuset只是控制任务行为的不同方面吗?

更具体地说,如果不同子系统的行为与任务所属的另一个子系统发生冲突,会发生什么?

最佳答案

您将两个原则混合在一起:任何进程始终都是某个 cgroup 的成员,但这对于 cgroup 层次结构(彼此独立)有效。因此,每个进程都将是您定义的每个 cgroup 层次结构中某个 cgroup 的成员(通常安装在 /cgroup/HIERARCHY_NAME 中)。

例如。当您将计算机配置为具有 2 个层次结构时:

  • 安装在与内存 cgroup Controller 关联的/cgroup/memory
  • 安装在与 cpuset cgroup Controller 关联的 /cgroup/cpuset

您将从包含所有正在运行的进程的 pid 的文件 /cgroup/cpuset/tasks/cgroup/memory/tasks 开始,直到您创建新的 cgroup 并在其中放入一些进程。所以难怪你会在这里看到相同的 pid。

此外,由于 cgroup 层次结构是独立的,因此您无法将 cgroup Controller 连接到多个层次结构 - 这消除了明显的冲突。

关于linux - 为什么同一个任务可以在不同的cgroup中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17182153/

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