ftrace笔记
- mount -t debugfs nodev /sys/kernel/debug
- sysctl kernel.ftrace_enabled=1
- #cat availabe_tracers //查看当前支持的tracer有哪些
- blk function_graph wakeup ... nop
- #echo wakeup > current_tracer
- #echo latency-format > trace_options
- #echo 0 > tracing_max_latency
- #echo 1 > tracing_on
- #chrt -f 5 sleep 1
- #echo 0 > tracing_on
- #cat trace
- #cat buffer_size_kb
- #echo nop > current_tracer
- #echo 10000 > buffer_size_kb
- #cat buffer_size_kb
- #echo function > current_tracer
- #cat trace_pipe > /tmp/trace.out &
- #echo 1 > tracing_on
- #usleep 1
- #echo 0 > tracing_on
- #cat /tmp/trace.out
- echo nofuncgraph-cpu > trace_options
- echo nofuncgraph-duration > trace_options
- echo nofuncgraph-overhead > trace_options
- echo funcgraph-proc > trace_options
- echo funcgrpah-abstime > trace_options
- <match>*
- *<match>
- *<match>*
- #echo 'hrtimer_*' > set_ftrace_filter
- #echo > set_ftrace_filter
- syntax: <function>:<command>:<parameter>
- 1. mod, this command enables function filtering per module
- #echo 'write*:mod:ext3' > set_ftrace_filter
- #echo '!writeback*:mod:ext3' >>set_ftrace_filter
- 2. traceon/traceoff
- these commands trun tracing on and off when the specified functions are hit. The parameter determines how many times the tracing system is turned on and off. If unspecified, there is no limit.
- For example, to disable tracing when a schedule bug is hit in the first 5 times, run:
- #echo '__schedule_bug:traceoff:5' > set_ftrace_filter
- These command are cumulative whether or not they are appended to set_ftrace_filter. To remove a command, prepend it by '!' and drop the parameter:
- #echo '!__schedule_bug:traceoff'
- #echo __do_fault > set_graph_function
- #echo sched_wakeup >> set_event
- #echo '!sched_wakeup' >> set_event
- #echo > set_event
- #echo *:* > set_event
- #echo 'irq:*' > set_event
- #echo 1 > /sys/kernel/debug/tracing/events/sched/sched_wakeup/enable
- #echo 1 > /sys/kernel/debug/tracing/events/sched/enable
- #echo 1 > /sys/kernel/debug/tracing/events/enable
- field-name relation-operatior value //一个predicate
- #cd /sys/kernel/debug/tracing/events/signal/signal_generate
- #echo "((sig >= 10 && sig < 15) || sig == 17) && comm != bash" > filter
- #cd /sys/kernel/debug/tracing/events/sched
- #echo 0 > filter
- #cat sched_switch/filter
- none
- #cat sched_wakeup/filter
- #echo common_pid == 0 > filter
- #cat sched_switch/filter
- common_pid == 0
- #cat sched_wakeup/filter
- common_pid == 0
- #echo prev_pid == 0 > filter
- #cat sched_switch/filter
- prev_pid == 0
- #cat sched_wakeup/filter
- common_pid == 0
- #cd /sys/kernel/debug/tracing
- #echo nop > current_tracer
- #echo 'irq:*' > set_event
- #echo latency-format > trace_options
- #echo 0 > tracing_max_latency
- #echo 1 > tracing_on
- #sleep 1
- #echo 0 > tracing_on
- #cat trace
ftrace笔记的更多相关文章
- linux内核编程笔记【原创】
以下为本人学习笔记,如有转载请注明出处,谢谢 DEFINE_MUTEX(buzzer_mutex); mutex_lock(&buzzer_mutex); mutex_unlock(& ...
- 利用ftrace跟踪内核static tracepoint——实例writeback event
摘要:和很多linux内核子系统一样,static tracepoint有很多层次,其中某个层次都展示给不同层次的开发者来满足他们的不同需求.关于linux tracepoint的详细信息,我们可以在 ...
- 利用ftrace跟踪内核static tracepoint
摘要:和很多linux内核子系统一样,static tracepoint有很多层次,其中某个层次都展示给不同层次的开发者来满足他们的不同需求.关于linux tracepoint的详细信息,我们可以在 ...
- git-简单流程(学习笔记)
这是阅读廖雪峰的官方网站的笔记,用于自己以后回看 1.进入项目文件夹 初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 第一步,使用命令git add <file ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- SQL Server技术内幕笔记合集
SQL Server技术内幕笔记合集 发这一篇文章主要是方便大家找到我的笔记入口,方便大家o(∩_∩)o Microsoft SQL Server 6.5 技术内幕 笔记http://www.cnbl ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- NET Core-学习笔记(三)
这里将要和大家分享的是学习总结第三篇:首先感慨一下这周跟随netcore官网学习是遇到的一些问题: a.官网的英文版教程使用的部分nuget包和我当时安装的最新包版本不一致,所以没法按照教材上给出的列 ...
随机推荐
- [洛谷P4556][BZOJ3307]雨天的尾巴-T3订正
线段树合并+树上差分 题目链接(···) 「简单」「一般」——其实「一般」也只多一个离散化 考试时想法看>这里< 总思路:先存所有的操作,离散化,然后用树上差分解决修改,用权值线段树维护每 ...
- Open Cascade:AIS_InteractiveContext如何调用函数选择AIS对象
AIS_InteractiveContext如何调用函数选择AIS对象 myAISContext->MoveTo(point.x, point.y, myView); myAISContext- ...
- 【译】Swift 字符串速查表
[译]Swift 字符串速查表 2015-12-18 10:32 编辑: suiling 分类:Swift 来源:CocoaChina翻译活动 10 5585 Swift字符串 招聘信息: iOS高级 ...
- clover 显卡注入功能详细讲解
13 March 2014 GraphicsInjector功能源于变色龙,不过比变色龙更加灵活,定制性更加强大.Intel的显卡 GMA950, X3100, HD300, HD4000被证实可 ...
- RN与现有的原生app集成
https://facebook.github.io/react-native/docs/integration-with-existing-apps.html RN可以很好地支持往一个原生的app上 ...
- 【php】【运算符】位移运算符
位运算符 &,|,!,^,<<,>> ···<<···左移一位值乘以2 ···>>···右移一位值除以2 超过总位数都会变为0 正负值移位运算符 ...
- yum安装php7.2
文章来源:https://www.cnblogs.com/hello-tl/p/9404655.html 分享一个算是比较完美的php7.2yum安装 0.更换yum原 # yum install e ...
- .NET:权限管理
题外话: 临近大四,编写各种简历的时候发现,很多电子简历上是可以链上自己在各大论坛上留下的足迹.关于这点,学习网络,拥抱开源,具有互联网思维的博主很后悔,后悔当年只会在网上查资料,不会留资料,空有才能 ...
- Java面试——从JVM角度比较equals和==的区别
1. Java中数据类型分类 1.1 基本数据类型 又称为原始数据类型,byte,short,char,int,long,float,double,boolean,他们之间的比较应该使用(== ...
- document文档碎片
var arrText = ["1","2","3","4","5","6",& ...