对于每个容器,在每个层次结构中创建一个 cgroup。在具有旧版本 LXC 用户空间工具的旧系统上,cgroup 的名称是容器的名称。对于更新版本的 LXC 工具,cgroup 是lxc/
对于使用 cgroups 的 Docker 容器,容器名称是容器的完整 ID 或长 ID。如果一个容器在 中显示为 ae836c95b4c3 docker ps,它的长 ID 可能类似于 ae836c95b4c3c9e9179e0e91015512da89fdec91612f63cebae57df9a5444c79. docker inspect您可以使用或进行查找docker ps —no-trunc。
[root@C26B4FD2CE277D4F ~]# docker ps --no-trunc
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0df78c337d3ecfc27e70208762ffdd88ae686b50acd38349c2f727131f371b90 registry.cn-hangzhou.aliyuncs.com/bd/node-baidu-video:v6.299-t20220617 "/bin/sh /PCDN/softdog.sh" 22 hours ago Up 22 hours xcdn
f477315f06da836286cacb0179d7e899fe26e3fd3089dd2e720911d4f469c333 registry.cn-hangzhou.aliyuncs.com/bd/rce:baidu-xcdn "bash /apps/entrypoint.sh" 10 days ago Up 8 days rce-baidu-xcdn
b6d4ac38205b83ec0e55274d3d3cb0eae8b816cb4bbc91758ad52b0685b4afee registry.cn-hangzhou.aliyuncs.com/bd/rce:bd-zabbix "bash /apps/entrypoint.sh" 2 weeks ago Up 8 days rce-bd-zabbix
[root@C26B4FD2CE277D4F ~]#
[root@C26B4FD2CE277D4F ~]# ls /sys/fs/cgroup/memory/docker/
0df78c337d3ecfc27e70208762ffdd88ae686b50acd38349c2f727131f371b90 memory.force_empty memory.kmem.tcp.max_usage_in_bytes memory.memsw.max_usage_in_bytes memory.stat
b6d4ac38205b83ec0e55274d3d3cb0eae8b816cb4bbc91758ad52b0685b4afee memory.kmem.failcnt memory.kmem.tcp.usage_in_bytes memory.memsw.usage_in_bytes memory.swappiness
cgroup.clone_children memory.kmem.limit_in_bytes memory.kmem.usage_in_bytes memory.move_charge_at_immigrate memory.usage_in_bytes
cgroup.event_control memory.kmem.max_usage_in_bytes memory.limit_in_bytes memory.numa_stat memory.use_hierarchy
cgroup.procs memory.kmem.slabinfo memory.max_usage_in_bytes memory.oom_control notify_on_release
f477315f06da836286cacb0179d7e899fe26e3fd3089dd2e720911d4f469c333 memory.kmem.tcp.failcnt memory.memsw.failcnt memory.pressure_level tasks
memory.failcnt memory.kmem.tcp.limit_in_bytes memory.memsw.limit_in_bytes memory.soft_limit_in_bytes
[root@C26B4FD2CE277D4F ~]#
将所有内容放在一起查看 Docker 容器的内存指标,请查看以下路径:
- /sys/fs/cgroup/memory/docker/
/在 cgroup v1 上,cgroupfs驱动程序 - /sys/fs/cgroup/memory/system.slice/docker-
.scope/在 cgroup v1 上,systemd驱动程序 - /sys/fs/cgroup/docker/
在 cgroup v2 上,cgroupfs驱动程序 - /sys/fs/cgroup/system.slice/docker-
.scope/在 cgroup v2 上,systemd驱动程序
参考文章:
https://docs.docker.com/config/containers/runmetrics/#control-groups
https://blog.csdn.net/fly910905/article/details/123718418