Ubuntu 22 AWS实例内核追踪目录缺失的恢复方法咨询
Ubuntu 22 AWS实例内核追踪目录缺失的恢复方法咨询
嗨,我来帮你搞定这个内核追踪目录消失的问题!咱们一步步来排查和恢复:
第一步:检查并挂载debugfs
内核追踪目录(/sys/kernel/debug/tracing)依赖debugfs文件系统,首先确认它有没有被挂载:
mount | grep debugfs
如果没有任何输出,说明debugfs没挂载,手动挂载试试:
sudo mount -t debugfs none /sys/kernel/debug
挂载完成后,再去查看/sys/kernel/debug/tracing是否出现。
第二步:验证内核是否支持Ftrace
如果挂载debugfs后还是没有tracing目录,那大概率是当前运行的内核编译时没开启Ftrace相关配置。咱们可以检查内核配置:
zgrep CONFIG_FTRACE /proc/config.gz
正常情况下,你应该能看到类似CONFIG_FTRACE=y、CONFIG_TRACING=y、CONFIG_FUNCTION_TRACER=y的输出。如果这些配置都是n或者根本没出现,说明这个内核不支持追踪功能。
第三步:切换到支持Ftrace的内核
AWS Ubuntu实例通常有多个可用内核,咱们先看看已安装的内核列表:
dpkg --list | grep linux-image
找到之前能正常显示tracing目录的那个内核版本,然后修改GRUB配置默认启动它:
- 编辑GRUB配置文件:
sudo nano /etc/default/grub
- 修改
GRUB_DEFAULT的值为目标内核的条目名称(可以用grep menuentry /boot/grub/grub.cfg查看所有内核条目) - 更新GRUB:
sudo update-grub
- 重启实例:
sudo reboot
重启后再检查tracing目录是否恢复。
第四步:(可选)重新编译支持Ftrace的内核
如果没有现成的支持内核,你需要手动编译内核,编译时务必开启以下关键配置:
CONFIG_FTRACE=yCONFIG_TRACING=yCONFIG_DEBUG_FS=yCONFIG_FUNCTION_TRACER=y
编译完成后替换当前内核即可。
备注:内容来源于stack exchange,提问作者user1895690
相关产品推荐
相关产品推荐

