Kernel_trace
文章平均质量分 96
kernel tracing
yiyeguzhou100
专注,探索,分享
展开
-
ftrace
mount -t debugfs nodev /sys/kernel/debug在mount后,可以在debug目录下看到tracing目录,该目录包含了ftrace的控制与输出文件。(1) enable ftrace可以获得更为详细的信息sysctl kernel.ftrace_enabled=1(2) 使用tracer转载 2016-02-27 14:34:28 · 966 阅读 · 0 评论 -
ftrace用法
ftrace官方文档在kernel/Documentation/trace/ftrace.txt文件中。 使用ftrace接口之前,如果系统没有自动挂载debugfs文件系统,则要先手动挂载。# mount -t debugfs nodev /sys/kernel/debug ftracer的目录为/sys/kernel/debug/tracing,下面介绍这个目录转载 2016-02-27 21:37:43 · 781 阅读 · 0 评论 -
利用ftrace跟踪内核static tracepoint——实例writeback event
摘要:和很多linux内核子系统一样,static tracepoint有很多层次,其中某个层次都展示给不同层次的开发者来满足他们的不同需求。关于linux tracepoint的详细信息,我们可以在linux内核文档Documentation/trace/tracepoints.txt和 samples/tracepoints这两个地方找到。大致来说,对tracepoints本身的定义是第一个层...转载 2018-06-01 10:47:44 · 522 阅读 · 0 评论 -
ftrace buffer size
toor4@lrc:/sys/kernel/debug/tracing# cat buffer_total_size_kb22528toor4@lrc:/sys/kernel/debug/tracing# cat buffer_size_kb (每CPU的ftrace buffer size)1408toor4@lrc:/sys/kernel/debug/tracing# echo原创 2016-04-19 20:25:15 · 2242 阅读 · 0 评论 -
mcount 和 ftrace_caller
https://blog.csdn.net/linux_chow/article/details/495365331. mcount1.1 没有开启CONFIG_DYNAMIC_FTRACE所有没有标记为no_trace的函数都会加上一条指令:call mcount。所以这时mcount是和类似ftrace_caller的函数。也就是所有这些函数都会被trace。1.2 开启CON...转载 2019-01-08 18:59:53 · 815 阅读 · 0 评论 -
***ftrace 简介***
ftrace 简介ftrace 的作用是帮助开发人员了解 Linux 内核的运行时行为,以便进行故障调试或性能分析。最早 ftrace 是一个 function tracer,仅能够记录内核的函数调用流程。如今 ftrace 已经成为一个 framework,采用 plugin 的方式支持开发人员添加更多种类的 trace 功能。Ftrace 由 RedHat 的 Stev转载 2016-02-28 21:38:52 · 363 阅读 · 0 评论 -
systemtap探测vfs dentry
有一台机器,监控发现经常出现内存不足的情况,如下:可以看到 32G 内存,可用内存大概就剩下 6500M 左右。本来剩个 6G 内存问题倒不大,但是问题是系统上的业务进程基本上没使用多少内存,从 ps 命令输出的结果来看所有进程加起来大概也就用了不到 5G:# ps aux | awk '{sum+=$6}END{printf("%.2f\n",sum/1024.0/1024)}'...转载 2020-01-05 21:36:02 · 783 阅读 · 0 评论 -
systemtap查看所能探测的内核函数以及打印调用栈
stap -l 'kernel.function("*")' #列出内核所有可探测的内核函数stap -l 'module("*").function("*")' #列出驱动所有可探测的内核函数stap -l 'module("*").function("ib_alloc_cq")'#查看函数在哪个驱动模块中定义 module("ib_core").function("i...原创 2019-08-13 23:14:20 · 2483 阅读 · 0 评论 -
用systemtap探测malloc
以下脚本用于探测glibc的malloc库函数在执行过程中,是否发生死循环(确实有这种异常情况发生),当malloc正常运行时,call_cnt与return_cnt的计数是匹配的(进入malloc函数与malloc返回的打点),否则如果malloc函数内部发生死循环,malloc函数将不会返回,return_cnt < call_cnt :stap -x <pid> ma...原创 2019-09-02 22:37:47 · 446 阅读 · 0 评论 -
Dynamic Tracing with DTrace & SystemTap
http://myaut.github.io/dtrace-stap-book/index.html转载 2020-01-17 15:52:49 · 147 阅读 · 0 评论 -
systemtap调试内存泄漏以及内存重复释放
我想内存问题肯定困扰过不少人,调用方法也很多,著名的valgrind、efence、mudflap在一定程度上也能帮助我们解决不少问题,但一些情况下它们也无能无力,比如多进程模型上valgrind好像支持得不是很好,efence和mudflap在大型项目中特别是用了其他第三方库的情况下,可能就早早的发现其他库的一些不是问题的问题就退出了,在一些小项目中用还是可以的。那我这里讲的这个技巧就是用Sys...转载 2019-08-22 22:42:56 · 1978 阅读 · 4 评论 -
systemtap examples
函数耗时定量测试(类似于ftrace的function_graph)@entry, is available for automatically saving an expression at entry time for use in a.returnprobe.函数调用次数(dentryhash-table search):other:https...原创 2020-02-19 20:47:41 · 405 阅读 · 0 评论 -
用systemtap确认信号的发送者
某个线程收到SIGSTOP信号进入了 T暂停状态,需要确认下谁发送了SIGSTOP信号给该线程。原创 2020-04-24 21:08:53 · 324 阅读 · 0 评论 -
kernel trace tools
https://github.com/iovisor/bcc原创 2020-09-01 22:17:06 · 820 阅读 · 1 评论