O que o suporte à hierarquia faz no cgroup?

7

cgroup tem 2 opções para controle de memória:

  • memory.use_hierarchy = 1 : hierarquia de uso
  • memory.use_hierarchy = 0 : use hierarquia plana, de acordo com esta resposta

Qual é a diferença entre os dois? Eu acho que hierarquia é hierarquia, o que "flat" significa aqui?

Eu li a documentação do cgroup aqui explicou o suporte hierárquico:

In the diagram above, with hierarchical accounting enabled, all memory usage of e, is accounted to its ancestors up until the root (i.e, c and root), that has memory.use_hierarchy enabled. If one of the ancestors goes over its limit, the reclaim algorithm reclaims from the tasks in the ancestor and the children of the ancestor.

  • O que significa accounted to its ancestors up until the root ?
  • Como os ancestrais podem ultrapassar seu limite, uma vez que suas capacidades de filhos são alocadas nessa soma à capacidade do ancestral?
  • Por que as tarefas são recuperadas no ancestral e nos filhos? Eu pensei que as tarefas são alocadas apenas nos filhos e essas tarefas pertencem automaticamente ao ancestral. isto é, "WWW Browsing" tem 20% de capacidade; seus filhos são "Professores" e "Estudantes" que têm 15% e 5%, respectivamente. O máximo nunca pode exceder 20%. Por que há um caso no documento declarando que:

If one of the ancestors goes over its limit, the reclaim algorithm reclaims from the tasks in the ancestor and the children of the ancestor.

    
por Amumu 05.07.2013 / 10:25

0 respostas