在 Ubuntu 22.04 上运行 cAdvisor 时遇到 mountpoint for cpu not found 错误

通常是由于 cgroup v2 导致的兼容性问题。Ubuntu 22.04 默认使用 cgroup v2,而旧版本的 cAdvisor 可能不完全支持它。以下是解决方案:

方法 1:启用 cgroup v1(推荐)

临时切换回 cgroup v1(cAdvisor 兼容性更好):

1、编辑 GRUB 配置:

sudo vi /etc/default/grub

2、找到 GRUB_CMDLINE_LINUX,并添加:

systemd.unified_cgroup_hierarchy=0

例如:

GRUB_CMDLINE_LINUX="systemd.unified_cgroup_hierarchy=0"

3、更新 GRUB 并重启:

sudo update-grub

sudo reboot

4、重启后,检查是否已切换回 cgroup v1

stat -fc %T /sys/fs/cgroup/

  • 如果返回 tmpfscgroupcgroup v1(成功)

  • 如果返回 cgroup2fscgroup v2(未生效)

5、重新运行 cAdvisor:

docker run \

--volume=/:/rootfs:ro \

--volume=/var/run:/var/run:ro \

--volume=/sys:/sys:ro \

--volume=/var/lib/docker/:/var/lib/docker:ro \

--volume=/dev/disk/:/dev/disk:ro \

--volume=/sys/fs/cgroup:/sys/fs/cgroup:ro \

--publish=18080:8080 \

--detach=true \

--name=cadvisor \

--privileged \

--device=/dev/kmsg \

google/cadvisor:latest

方法 2:使用支持 cgroup v2 的 cAdvisor 版本

如果不想切换回 cgroup v1,可以尝试较新版本的 cAdvisor(如 v0.47.0+):

docker run \

--volume=/:/rootfs:ro \

--volume=/var/run:/var/run:ro \

--volume=/sys:/sys:ro \

--volume=/var/lib/docker/:/var/lib/docker:ro \

--volume=/dev/disk/:/dev/disk:ro \

--volume=/sys/fs/cgroup:/sys/fs/cgroup:ro \

--publish=18080:8080 \

--detach=true \

--name=cadvisor \

--privileged \

--device=/dev/kmsg \

gcr.io/cadvisor/cadvisor:v0.47.0

验证 cAdvisor 是否运行成功

docker logs cadvisor

如果成功,访问 http://<your-server-ip>:18080 应该能看到 cAdvisor 的监控界面。

相关推荐
xx~t7 分钟前
嵌入式——ARM——汇编1
linux·汇编·arm开发·嵌入式硬件·arm
ly768915 分钟前
磁盘 I/O 延迟突增:用 iostat、blktrace 与火焰图定位到具体调用栈
java·linux·前端·数据库·iostat·磁盘 i/o·blktrace
程序员-Benothing17 分钟前
Linux查找文件命令:find、locate、which、whereis实战
linux·运维·服务器
j7~19 分钟前
【Linux网络加餐】(篇七)网络版计算器(中):协议落地、报文分隔与完整链路
linux·c++·网络编程·tcp·报文分割·网络计算器·协议落地
团子股股东峥哥27 分钟前
day39-RHEL-访问网络附加存储
linux·运维·服务器
不会写代码的小可爱&&28 分钟前
深入 Linux 内核内存管理:slab/slub 分配器原理剖析
linux·硬件架构
浪淘沙jkp42 分钟前
全程无人值守完成ubuntu22.04到xubuntu 24.04.5的升级
ubuntu
名字还没想好☜1 小时前
Kubernetes 用 kubectl port-forward 和 proxy 调试集群内服务:两者区别、断连自动重连与为什么别用在生产
运维·docker·kubernetes
sean9081 小时前
Ubuntu 26.04 终端显示冗余信息
ubuntu·终端·异常
H_oRIZoN_1 小时前
Linux入门DAY44 ARM 入门 Day02|ARM 汇编指令、模式切换、栈操作、汇编 C 混合编程
linux·单片机·嵌入式硬件·arm·linux应用编程