高通dump ftrace & kernelshark使用
简介
高通 ramdump 可以解析出 ftrace,方便用于追踪 快省稳 问题。
kernelshark 是一个可以查看 trace event 的图形化工具,方便梳理和观察内核微观行为。
trace-cmd 是设置读取 ftrace 的命令行工具,kernelshark既可以记录数据,也可以图形化分析结果。
在 /sys/kernel/debug/tracing/events 终端打开所需要监控的 trace event
trace-cmd 编译安装
下载源码
git clone https://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git
trace-cmd编译安装:
make install--------------------------只安装trace-cmd
crash tool 编译安装
- crash tool 下载: https://people.redhat.com/anderson/
- crash tool 使用:https://people.redhat.com/anderson/crash_whitepaper/
但这里高通 rdp 工具使用 crash 来处理 dump 里的 ftrace rawdata,再使用 trace-cmd 来把 rawdata 转换为 Ftrace.txt.
下载源码后直接编译:
make target=ARM64
make extensions
rdp 解析 ftrace
把上面编译出来的路径写入 linux-ramdump-parser-v2/local_settings.py
trace_ext = "/home/baihaowen/3T_DISK/tools/crash/crash/extensions/trace.so"
crashtool = "/home/baihaowen/3T_DISK/tools/crash/crash/crash"
tracecmdtool = "/usr/bin/trace-cmd"
解析 dump ftrace 需要加上 --dump-ftrace 选项
sudo python ramparse.py --vmlinux /debug/apps/vmlinux --auto-dump /Port_NPI56/ -o /Port_NPI56/rdpout/ --everything --force-hardware msmnile -x --ipc-skip --dump-ftrace
rdp 解析 ftrace 成功: rdpout/dmesg_TZ.txt
----------begin FtraceParser----------
/home/baihaowen/3T_DISK/tools/crash/crash/crash
args to crash: ['/home/baihaowen/3T_DISK/tools/crash/crash/crash', '--kaslr=0xf5b600000', '--machdep', 'kimage_voffset=0xffffff8ee3600000', '/Port_NPI56/DDRCS0_0.BIN@0x80000000,/Port_NPI56/DDRCS0_1.BIN@0x100000000,/Port_NPI56/DDRCS1_0.BIN@0x180000000,/Port_NPI56/DDRCS1_1.BIN@0x200000000,', '/debug/apps/vmlinux', '-p 4096', '-i /home/baihaowen/3T_DISK/tools/qcom-tools/M1971_rdp_tools/linux-ramdump-parser-v2/tmp/973QAFV3KF2XS_NPI56_dump_60H_20190906102228/tmpmInKQ6']
crash standard output recorded.
Ftrace successfully extracted.
trace-cmd standard error recorded.
------------end FtraceParser----------
使用 kernelshark
ubuntu 直接安装:
sudo apt-get install kernelshark
把 rdpout 目录生成的 rawtracedata 改名字为 rawtracedata.dat,再打开 kernelshark 载入 rawtracedata.dat

kernelshark 的使用:file:///usr/share/kernelshark/html/index.html (安装后)
如果单单是 trace event 文本,巨量的 trace 信息根本无法直观分析。 现在使用 kernelshark,io writeback、cpu schedule、memory alloc/reclaim 事件都可以图形化查看。
高通dump ftrace & kernelshark使用的更多相关文章
- 高通平台 lcd driver 调试小结
一.概述 1.1 简介 本文档主要包括LCD模块的驱动流程分析.Framebuffer相关知识.Gralloc等相关内容,以及LCD调试的一些经验和相关bug的分析和讲解. 1.2 开发环境 And ...
- 高通平台的bootloader过程【转】
====================基本知识=======================LK是(L)ittle (K)ernel的缩写.高通平台android普遍采用LK作为其bootloade ...
- 高通 MSM8K bootloader 之四: ramdump
前面说过高通平台,系统crash发生时,抓取crash ramdump非常重要,否则很难定位crash原因. 平台默认抓取ramdump的方法都有很强的局限性,如下: 1.PC端工具QPST提供的 M ...
- 高通 MSM8K bootloader : SBL1 .
一. MSM8K Boot Flow 图1: 高通MSM8K平台bootloader启动流程基本类似,但具体各平台,比如MSM8974.MSM8916.MSM8994等,会有微小区别. 从上图,可以看 ...
- 高通android开发摘要
一部分是开源的,可以从codeaurora.org上下载,还有一部分是高通产权的,需要从高通的网站上下载. 将高通产权的代码放到:vendor/qcom/proprietary 1. 设置bms一些参 ...
- Android : 高通平台Camera调试之SetpropKey/camxoverridesettings.txt
高通相关网址:Createpoint: https://createpoint.qti.qualcomm.com(可下载文档,Release Note等)Chipcode: https://chipc ...
- 高通 MSM8K bootloader之一: SBL1
MSM8K Boot Flow 转自:http://www.cnblogs.com/liang123/p/6325257.html http://blog.csdn.net/F ...
- linux驱动由浅入深系列:PBL-SBL1-(bootloader)LK-Android启动过程详解之一(高通MSM8953启动实例)
转自:http://blog.csdn.net/radianceblau/article/details/73229005 http://www.aiuxian.com/article/p-14142 ...
- 高通平台Bootloader启动流程【转】
本文转载自:http://blog.csdn.net/fang_first/article/details/49615631 ====================基本知识============= ...
- 最新内核3.4)Linux 设备树加载I2C client adapter 的流程(内核3.4 高通)【转】
转自:https://blog.csdn.net/lsn946803746/article/details/52515225 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转 ...
随机推荐
- 【Vue】单据打印功能
一.打印组件 需要选定区域进行打印,使用vue-print组件 组件安装 npm install vue-print-nb --save 在项目的Main.js中引入(全局注册): import Pr ...
- 【WebSocket】一个简单的前后端交互Demo
WebSocket资料参考: https://www.jianshu.com/p/d79bf8174196 使用SpringBoot整合参考: https://blog.csdn.net/KeepSt ...
- 神州笔记本 win11 节能模式 供电不足 自动关机
刚刚买了一个神州笔记本没几天,用着用着就出现问题了. 本人使用电脑有个极为不好的习惯,那就是会一次性打开特别多的应用,然后不关,一直留着,这个习惯虽然不好但也是一直没有啥问题的,不过最近换了个新的笔记 ...
- vue之element图标库使用与第三方阿里云图标库使用
1.背景 2.element图标库使用 假设要做一个如下效果 代码如下: <!-- 输入框--> <el-form label-width="0px" class ...
- vue之循环遍历v-for
1.背景 2.遍历数组 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...
- PHP 字符串大小写操作
PHP为我们提供了字符串中大小写字母转换的函数, strtoupper()将指定的字符全部转换为大写: strtolower()将北定的字符都转换成小写: ucwords()将指定字符串中每个单词的首 ...
- [CEOI2018] Lottery 题解
前言 题目链接:洛谷. 题意简述 给出序列 \(a_1 \ldots a_n\) 和常数 \(l \leq n\),定义: \[\operatorname{dis}(i, j) = \sum _ {k ...
- JAVA for Cplex(更新版)
一.Cplex的介绍 Cplex是一种专门用来求解大规模线性规划问题的求解工具.不仅仅是LP问题,对于二次规划 QP,二次有约束规划QCP,混合整数线性规划MIP问题,甚至Network Flow问题 ...
- 代码随想录Day12
二叉树遍历 分为前序.中序.后续.层序四种 其中前中后序属于深度优先搜索,层序属于广度优先搜索 前序遍历顺序: 根节点->左子树->右子树 中序遍历顺序: 左子树->根节点-> ...
- 【牛客刷题】HJ3 明明的随机数
题目链接 这题有两个要编码解决的问题,首先是去重,其次是排序. 最开始想着就用Java的TreeSet解决了,简单好用,去重排序都一并解决了,编码只需要考虑input的逻辑就可以,代码如下: impo ...