/sys/kernel/debug及debugfs


# cat /etc/fstab 
proc            /proc                   proc    defaults                0       0
tmpfs           /tmp                    tmpfs   defaults                0       0
sysfs           /sys                    sysfs   defaults                0       0
tmpfs           /dev                    tmpfs   defaults                0       0
var             /dev                    tmpfs   defaults                0       0
ramfs           /dev                    ramfs   defaults                0       0
debugfs         /sys/kernel/debug       debugfs defaults                0       0
  • 来源
想实现一个功能,将关心的数据映射到用户空间,发现 proc 和 sys 已经做了这件事,但是目的不同,
proc 是为了反映系统及进程的状态信息
sysfs 是用于linux设备驱动模型
而 debugfs 的目的是将调试信息映射到用户空间

所以单独做了一个文件系统,一般挂载到 /sys/kernel/debug 下面,当然你也可以挂载到/debug 下面。

debugfs 在内核空间的实现及 api 和 sysfs 是不一样的

/sys/kernel 下面都是 内核可调参数

其实debug 文件系统和 sys proc文件系统一样,都是内存文件系统

  • debugfs 与调试信息
哪些调试信息:
tracing : 动态跟踪技术被映射到用户空间,就放到了 /sys/kernel/debug/tracing 目录

调试信息的动作:
	选择调试信息
	开关调试信息
	记录调试信息
	分析调试信息
  • debugfs 目录
/sys/kernel/debug # ls
bdi                 kprobes             suspend_stats
clk                 memblock            tracing
dynamic_debug       mmc0                ubi
extfrag             pm_qos              ubifs
fault_around_bytes  regmap              usb
gpio                regulator           virtio-ports
hid                 sleep_time          wakeup_sources

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章