一部の操作では、cgroup memory.usage_in_bytes は常に 0 です。

一部の操作では、cgroup memory.usage_in_bytes は常に 0 です。

Torque Queue Managerを使用してHPCクラスタのメモリを管理するために、CentOS 6システムでcgroupを使用しようとしています。テストのためにジョブが実行されているノードにログインしました。ここには次のものがあります。

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

cgconfigサービスを開始しました。だから私はやる

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

次に、ツリーに別のプロセスを追加します。

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

しかし、実際にメモリ使用量が減ったことがわかりました。

# cat memory.usage_in_bytes
49152

ただし、追加されたプロセスは合計18 GB以上のメモリを使用します。

# 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

だから私が追加した新しいタスクは無視されるようです。理由を理解する人がいますか?

このcgroupを削除し、プロセス24339と24362のみを含む新しいcgroupを作成すると、常にmemory.usage_in_bytes値0のみが取得されます。 memory.statのすべてのエントリも0です。

ベストアンサー1

おすすめ記事