cgroup memory.usage_in_bytes sempre zero para algumas tarefas

2

Estou tentando usar o cgroup para gerenciar a memória em um cluster HPC usando o gerenciador de filas de torque em máquinas CentOS 6. Só para testar faço login em um nó executando um job onde tenho:

pbs_mom(12184)─┬─sh(24312)───9809188.launchp(24339)───fcgene(24362)
               ├─{pbs_mom}(12190)
               └─{pbs_mom}(12191)

Eu tenho o serviço cgconfig iniciado. Eu então faço

# cd /cgroup/memory
# mkdir jobMOM
# cd jobMOM
# echo 12184 > tasks
# cat cgroup.procs
12184
# cat memory.usage_in_bytes
81920

Eu então adiciono os outros procs na árvore

# for f in 24312 12190 12191 24339 24362 ; do echo $f >> tasks ; done

Mas eu vejo memory.usage realmente cair

# cat memory.usage_in_bytes
49152

Mas os processos adicionados estão usando mais de 18 GB de memória combinada

# ps -eLo pid,fname,vsize,rss | egrep '^(12184|12190|12191|24312|24339|24362)'
12184 pbs_mom   48076 27432
12184 pbs_mom   48076 27432
12184 pbs_mom   48076 27432
24312 sh       114532  1716
24339 9809188. 106132  1248
24362 fcgene   16815264 16809768

Portanto, parece que as novas tarefas que adicionei são apenas ignoradas. Alguém entende por quê?

Quando eu deletei este cgroup e criei um novo com apenas o processo 24339 e 24362, então eu sempre obtive 0 para memory.usage_in_bytes. Tudo em memory.stat também é 0.

    
por raines 23.06.2015 / 18:15

0 respostas

Tags