
1) cgroup が実際のタスク数よりも多くのタスク数を表示するのはなぜですか?
元 :
[root@localhost proc]# ps -aux | wc -l
421
[root@localhost proc]# cat /sys/fs/cgroup/memory/tasks | wc -l
539
2) cgroup が実際のメモリ使用量よりも多くのメモリ使用量を表示するのはなぜですか?
元 :
[root@localhost memory]# free -h
total used free shared buff/cache available
Mem: 11G 425M 9.4G 38M 1.7G 10G
Swap: 2.0G 193M 1.8G
[root@localhost memory]# cat /sys/fs/cgroup/memory/memory.usage_in_bytes
1596362752
上記では、free が使用メモリを 425M と表示し、cgroups が約 1.4GB と表示しているのがわかりますか?
デフォルトの cgroup は 1 つだけであり、他の cgroup は作成されないことに注意してください。
3) cgroup の正しいメモリ使用率を計算するにはどうすればよいでしょうか?
答え1
1) マルチスレッドプロセスではps aux
、各スレッドがタスクである場合、出力は1行になります。比較ps -auxH | wc -l