cdlinux官网 CdLinux
大家好,小宜来为大家讲解下。cdlinux官网,CdLinux这个很多人还不知道,现在让我们一起来看看吧!
实时获取linux内核函数的调用栈以及各个子函数的执行时间,linux ftrace是最适合的。通过ftrace进行linux内核调试的步骤如下:
1、进入debugfs目录
$ cd /sys/kernel/debug/tracing
如果找不到目录,执行下列命令挂载debugfs:
$ mount -t debugfs nodev /sys/kernel/debug
2、查询支持的追踪器
$ cat available_tracers
常用的有两种:
- function 表示跟踪函数的执行;
- function_graph 则是跟踪函数的调用关系;
3、查看支持追踪的内核函数和事件。其中函数就是内核中的函数名,而事件,则是内核源码中预先定义的跟踪点。
//查看内核函数
$ cat available_filter_functions
//查看事件
$ cat available_events
4、设置追踪函数:
$ echo do_sys_open > set_graph_function
5、设置追踪器
$ echo function_graph > current_tracer
$ echo funcgraph-proc > trace_options
6、开启追踪
$ echo 1 > tracing_on
7、执行一个 ls 命令后,再关闭跟踪
$ ls
$ echo 0 > tracing_on
8、最后一步,查看跟踪结果
$ cat trace
不过ftrace使用起来操作步骤稍微有点繁琐,作为ftrace的改良版,trace-cmd使用起来更方便些,过程如下:
1、记录:
$ trace-cmd record -p function_graph -g do_sys_open -O funcgraph-proc ls
2、trace-cmd的输出和ftrace是类似的:
$ trace-cmd report
#linux# #程序员# #运维# #Linux# #计算机# #操作系统#
本文cdlinux官网,CdLinux到此分享完毕,希望对大家有所帮助。