性能分析
zhuyong006
这个作者很懒,什么都没留下…
展开
-
Linux 火焰图(on-cpu , off-cpu , memory)
在前一篇文章,我们简单提到了 perf,实际 perf 能做的事情远远不止这么少,这里就要好好介绍一下,我们在 TiKV 性能调优上面用的最多的工具 - 火焰图。火焰图,也就是 FlameGraph,是超级大牛 Brendan Gregg 捣鼓出来的东西,主要就是将 profile 工具生成的数据进行可视化处理,方便开发人员查看。我第一次知道火焰图,应该是来自 OpenResty 的章亦春介绍,...转载 2020-01-01 19:07:30 · 6772 阅读 · 0 评论 -
Simpleperf介绍
什么是simpleperfSimpleperf是Android平台的一个本地层性能分析工具。它的命令行界面支持与linux-tools perf大致相同的选项,但是它还支持许多Android特有的改进。Simpleperf是Android开源项目(AOSP)的一部分。其源代码 位于。其最新的文档 位于。Bugs 和 功能需求可以提交到 githb上。Simpleperf是如何工作的现代的C...转载 2019-11-17 20:09:12 · 6657 阅读 · 0 评论 -
Android性能专项测试之Systrace工具
Systrace Walkthrough Systrace Analyzing UI Performance with Systrace Speed up your appSystrace能做什么?计算容器的性能发现性能的瓶颈Systrace的使用准备4.1以上rootAndroid SDK Tools 20python环境Systrace启动你...转载 2019-09-18 16:21:00 · 238 阅读 · 0 评论 -
绘制Linux/Android设备的内存动态变化趋势图
1.生成可执行文件收集动态内存数据\hardware\qcom\memory\memory_detect.c#include <stdio.h>#include <linux/kernel.h>#include <linux/unistd.h>#include <unistd.h> #include <sys/sysinfo.h...原创 2019-08-28 10:24:49 · 567 阅读 · 0 评论 -
初探Linux内核态——通过proc文件系统作快速问题定位
本文是对一篇blog的翻译,感谢译者Hualet Wang。原文通过一个例子为我们展示了,在分析进程运行缓慢的问题时,strace和pstack都束手无策的情况下,不要忘了还有proc。简介文章翻译自 Peeking into Linux kernel-land using /proc filesystem for quick’n’dirty troubleshooting这篇博客的内容完全...转载 2019-03-26 15:54:29 · 539 阅读 · 0 评论 -
Android网卡(Wifi/Lan)带宽测试
获取Android端的iperf工具获取地址:ubuntu下安装iperf,命令:apt-get install iperf务必首先保证android设备和ubuntu主机可以互相ping通,这是进行测试的前提ubuntu主机执行如下命令进入服务端模式(我这儿服务端ip:172.16.0.152)iperf -sAndroid端设备作为客户端模式执行如下指令和ubu...原创 2018-12-07 10:33:55 · 3483 阅读 · 0 评论 -
内核如何检测soft lockup与hard lockup?
原帖地址:所谓lockup,是指某段内核代码占着CPU不放。Lockup严重的情况下会导致整个系统失去响应。Lockup有几个特点:首先只有内核代码才能引起lockup,因为用户代码是可以被抢占的,不可能形成lockup(只有一种情况例外,就是SCHED_FIFO优先级为99的实时进程即使在用户态也可能使[watchdog/x]内核线程抢不到CPU而形成soft lock,参见《Real-T...转载 2018-11-30 18:54:43 · 989 阅读 · 0 评论 -
宋宝华:关于Ftrace的一个完整案例
本文目录Ftrace简介Ftrace案例Ftrace结果怎么读?vim进行Ftrace折叠Ftrace简介Ftrace是Linux进行代码级实践分析最有效的工具之一,比如我们进行一个系统调用,出来的时间过长,我们想知道时间花哪里去了,利用Ftrace就可以追踪到一级级的时间分布。Ftrace案例写一个proc模块,包含一个proc的读和写的入口。test_proc_show()...转载 2018-11-22 11:09:42 · 599 阅读 · 0 评论 -
Android Native内存泄露检测(针对Android7.0)
1. 需要合入一个Patch2. 执行指令adb rootadb shell setprop libc.debug.malloc.program cameraserveradb shell setprop libc.debug.malloc.options “backtrace_enable_on_signal leak_track”adb shell ps | find /I “ca...原创 2018-11-06 10:46:41 · 2429 阅读 · 3 评论 -
Linux线程间死锁分析
死锁 (deadlocks): 是指两个或两个以上的进程(线程)在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程(线程)称为死锁进程(线程)。 由于资源占用是互斥的,当某个进程提出申请资源后,使得有关进程(线程)在无外力协助下,永远分配不到必需的资源而无法继续运行,这就产生了一种特殊现象死锁。...转载 2018-11-06 15:47:10 · 1381 阅读 · 0 评论 -
Android下如何使用smem工具获取进程的内存分布
首先需要借助busybox在手机上执行msm8953_64:/ # busybox smemcap &amp;gt; /data/metadata.tar将metadata.tar放到ubuntu系统的主机主机上执行如下指令:smem -S metadata.tar --pie=command5.生成内存分布的饼状图...原创 2018-11-12 20:09:11 · 391 阅读 · 0 评论 -
宋宝华:火焰图:全局视野的Linux性能剖析
原帖:什么是火焰图: 火焰图(Flame Graph)是由Linux性能优化大师Brendan Gregg发明的,和所有其他的trace和profiling方法不同的是,Flame Graph以一个全局的视野来看待时间分布,它从底部往顶部,列出所有可能的调用栈。其他的呈现方法,一般只能列出单一的调用栈或者非层次化的时间分布。我最快乐的童年时代,每逢冬天,尤其是春节的时候,和一家人围坐在火...转载 2018-11-22 10:40:22 · 308 阅读 · 0 评论