0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

杀手级分析——bootchart

Linux阅码场 来源:Linuxer 作者:Linuxer 2020-09-08 09:13 次阅读

之前小弟一直在宣传推广火焰图,结果是很多童鞋凡事都用火焰图。说实话,火焰图特别适合分析运行时热点(无论是on-cpu、off-cpu、还是内存等,火焰图的想象力可以无穷放大),但是你要分析一个的如果是一个时序问题,比如系统启动的慢、一个软件启动的慢,用火焰图固然可能有一点帮助,但是帮助肯定很微妙。

因为这种某个过程慢的问题,是一个时序问题。不是一个运行时热点的问题,所以你最重要的是画出来你的这个过程的时序图。这里面说不定有I/O的牵绊,说不定就是狂占CPU,说不定谁傻不拉几地在sleep。

Linux界有一个杀手级分析Linux本身启动慢的工具,叫做bootchart,它其实把启动过程中进程的IO,CPU占用情况进行了描述。注意这类图都有一个共同特点,横轴是时间,纵轴是CPU、线程等的状态(运行、睡眠、IO什么的)。

bootchart确实有利于分析开机过程,但是你平时某个软件启动慢呢?或者更广泛地说,某个特定过程特别慢呢?或者更加更加广泛地说,我写的程序在系统里面是怎么在运行,几个线程怎么在跑?我们则要描绘出它的时序图。

这个时候,我们可以用perftimechart,比如,下面我们写一个很简单的包含了2个线程周期循环做事情和睡眠的代码:

我们运行上面这个a.out,下面我们用perf录制系统的sched情况:

~$ sudo perf sched record -a^C[ perf record: Woken up 1 times to write data ][perfrecord:Capturedandwrote1.909MBperf.data(9039samples)]

接下来生成timechart:

~$ sudo perf timechartWritten6.4secondsoftracetooutput.svg.

我们用firefox打开这个时序图:

时序图上我们看到了我的8个CPU的运行情况,以及a.out中2个线程一会儿蓝色(running)一会灰色(sleeping)的情况。我们看到,系统差不多在用CPU2和CPU7跑我们a.out里面的2个占用CPU比较高线程。

不过,这类工具里面压轴的不是perf timechart,说实话,有点太粗糙了!我们来看看大名鼎鼎的内核鲨鱼——kernelshark。

下面我们用trace-cmd来录制sched相关的trace点:

~$ sudo trace-cmd record -e 'sched_wakeup*' -e sched_switch -e 'sched_migrate*'Hit Ctrl^C to stop recording^CCPU0 data recorded at offset=0x60e000 61440 bytes in sizeCPU1 data recorded at offset=0x61d000 184320 bytes in sizeCPU2 data recorded at offset=0x64a000 24576 bytes in sizeCPU3 data recorded at offset=0x650000 12288 bytes in sizeCPU4 data recorded at offset=0x653000 12288 bytes in sizeCPU5 data recorded at offset=0x656000 86016 bytes in sizeCPU6 data recorded at offset=0x66b000 172032 bytes in sizeCPU7 data recorded at offset=0x69500028672bytesinsize

用kernelshark来打开录制的点:

~$ kernelshark trace.datLoading"trace.dat"

看到下面的图形界面:

我们可以在UI上面进行各种操作,比如我们关注a.out,我们就选择task:

我们得到这样的视图:

比如我图上画的那个点,a.out的颜色发生了变化,而下面的文字则表达了发生变化的原因是调度,调度的目标是swapper,这个调度点发生在CPU4上面:

如果你期待的是一个横轴是时间,纵轴是每个线程、CPU在某个时间段里面在干什么的图,kernelshark,你当然值得拥有。

原文标题:宋宝华:当Linux内核遭遇鲨鱼—kernelshark

文章出处:【微信公众号:Linuxer】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11355

    浏览量

    210690

原文标题:宋宝华:当Linux内核遭遇鲨鱼—kernelshark

文章出处:【微信号:LinuxDev,微信公众号:Linux阅码场】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    电池(包)测试系统的技术原理和应用

    电池(包)测试系统是一种关键的测试工具,其技术原理和应用在多个领域中发挥着至关重要的作用。以下是对其技术原理和应用的具体介绍:一、技术原理电池(包)测试系统的技术原理主要基于电化学原理、物理测试
    发表于 12-09 15:40

    汽车PMIC在BDU和PDU中的应用分析

    汽车 PMIC 在 BDU 和 PDU 中的应用分析 新唐科技模拟前端产品 - 业界独有高压绝缘工艺 随着新能源汽车的迅猛崛起和相关技术的日益完善,电动汽车正迅速取代燃油车成为新一代的出行首选
    的头像 发表于 11-29 11:51 415次阅读
    汽车<b class='flag-5'>级</b>PMIC在BDU和PDU中的应用<b class='flag-5'>分析</b>

    工业网线标准分析

    工业网线标准是指那些可以耐受一定物理环境的网线标准。与普通网络环境下使用的标准网线相比,工业网线具有更高的信号抗干扰性能、更强的机械强度和更广泛的工作温度范围,适用于恶劣的物理环境,例如高温、低温、高湿、高腐蚀等工业应用场景。
    的头像 发表于 11-28 10:04 367次阅读

    电流隐患大揭秘:电气短路——火灾背后的“无形杀手

    在城市的脉络中,电气线路如同血脉般穿梭,为现代生活输送着不可或缺的能源。然而,在这看似平静的能源流动之下,隐藏着一位不容忽视的“隐形杀手”——电气短路,它正悄然成为威胁公共安全的重大隐患。据国家
    的头像 发表于 09-14 09:28 392次阅读
    电流隐患大揭秘:电气短路——火灾背后的“无形<b class='flag-5'>杀手</b>”

    国产网表功耗分析EDA大幅提升精度与性能

    了门功耗分析的精度。) (2024年9月12日,四川成都)英诺达(成都)电子科技有限公司发布了EnFortius®凝锋®门功耗分析工具(GPA)的新版本V24.08,新增波形重放(
    发表于 09-12 11:22 390次阅读
    国产网表<b class='flag-5'>级</b>功耗<b class='flag-5'>分析</b>EDA大幅提升精度与性能

    用opa847搭的两放大电路,出现震荡的原因?

    我用opa847搭的两放大电路,出现震荡,谁帮我分析分析为什么会这样,下面是原理图,附带示波器输出波形
    发表于 08-26 08:09

    差分放大电路如何分析等效输出噪声?

    请问对于这样的差分放大电路而言,应该如何分析等效输出噪声呢。第一两个放大器完全对称的话,第一的输出噪声会在第二互相抵消吗
    发表于 08-06 08:03

    Moldex3D模流分析之晶圆封装(EWLP)制程

    与准备分析。注:此教学使用的案例为嵌入式晶圆封装(EWLP)制程的仿真,压缩成型模块(CM)另外还支持了许多不同制程类型,如非流动性底部充填及非导电性黏着等。此教
    的头像 发表于 07-10 08:35 1645次阅读
    Moldex3D模流<b class='flag-5'>分析</b>之晶圆<b class='flag-5'>级</b>封装(EWLP)制程

    OpenHarmony之开机优化

    OpenHarmony已经支持了Bootchart工具,我们可以直接使用Bootchart工具,Bootchart工具介绍如下: 概述 Bootchart是一个用于系统启动过程性能
    发表于 07-01 16:39

    江波龙分析存储市场:企业产品受青睐,价格或将温和上涨

    近日,江波龙在接受行业机构调研时,对当前的存储市场状况进行了深入分析。根据市场机构的数据,当前原厂供应正逐步向企业产品倾斜,显示出企业市场对存储晶圆的强劲需求。在此背景下,整体存储晶圆的供应依然处于偏紧状态。
    的头像 发表于 06-05 10:46 794次阅读

    概伦电子宣布正式推出芯片HBM静电防护分析平台ESDi

    近日,概伦电子宣布正式推出芯片HBM静电防护分析平台ESDi和功率器件及电源芯片设计分析验证工具PTM,并开始在国内外市场广泛推广。
    的头像 发表于 05-28 10:09 683次阅读

    无人机遭遇“神秘杀手”:揭秘反无人机技术的崛起

    随着无人机技术的广泛应用,其带来的安全隐患也日益凸显。为了应对这一挑战,反无人机技术应运而生,成为无人机领域的“神秘杀手”。本文特信无人机反制小编将通过具体实例,探讨反无人机技术的发展现状、应用场景以及未来趋势。
    的头像 发表于 04-25 09:12 741次阅读
    无人机遭遇“神秘<b class='flag-5'>杀手</b>”:揭秘反无人机技术的崛起

    人工智能热潮来袭,硅光子技术迎来杀手应用?

    过去十年来,通用云和互联网应用(如视频流媒体、社交网络、互联网搜索引擎和电子商务平台等)推动了数据中心流量的指数增长。
    的头像 发表于 04-01 17:26 999次阅读
    人工智能热潮来袭,硅光子技术迎来<b class='flag-5'>杀手</b><b class='flag-5'>级</b>应用?

    功率因数校正电路的适用性分析

    电子发烧友网站提供《单功率因数校正电路的适用性分析.doc》资料免费下载
    发表于 03-18 14:41 0次下载

    深入分析国产车规芯片的产业发展现状

    根据功能划分,车规芯片主要分为四类:计算及控制芯片、功率芯片、传感器芯片及其他芯片。计算及控制芯片以微控制器和逻辑 IC 为主,主要用于计算分析及决策。
    发表于 02-21 17:35 1952次阅读
    深入<b class='flag-5'>分析</b>国产车规<b class='flag-5'>级</b>芯片的产业发展现状