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?
请注意,只有1个默认cgroup,没有创建其他cgroup
3)如何为cgroup计算正确/适当的内存利用率?
解决方法:
1)当每个线程都是一个任务时,多线程进程在ps aux输出中有一行.比较ps -auxH | wc -l