ubuntu 火焰图脚本

环境ubuntu1804 x86_64 

#!/bin/bash
if [ "$2_" = "_" ];then
    echo "usage ./fire.sh oncpu/offcpu pid"
    exit
fi

if [ "$1_" = "oncpu_" ];then
    sudo perf record -F 99 -p $2 -g -- sleep 10
    sync
    sudo perf script > out.perf
    sync
    sudo ./FlameGraph-master/stackcollapse-perf.pl out.perf > out.folded
    sync

elif [ "$1_" = "offcpu_" ];then
    sudo bash -c "echo 1 > /proc/sys/kernel/sched_schedstats"
    sudo perf record -e sched:sched_stat_sleep -e sched:sched_switch -e sched:sched_process_exit -p $2 -g -o perf.data.raw sleep 5 
    sync
    sudo perf inject -v -s -i perf.data.raw -o perf.data
    sync
    sudo perf script -F comm,pid,tid,cpu,time,period,event,ip,sym,dso > out.perf
    awk ' NF > 4 { exec = $1; period_ms = int($5 / 1000000) } NF > 1 && NF <= 4 && period_ms > 0 { print $2 } NF < 2 && period_ms > 0 { printf "%s\n%d\n\n", exec, period_ms } ' ./out.perf > out.perf2
    sync
    sudo ./FlameGraph-master/stackcollapse.pl out.perf2 > out.folded
    sync

else
    echo "usage ./fire.sh oncpu/offcpu pid"
    exit
fi


if [ "$1_" = "oncpu_" ];then
    sudo ./FlameGraph-master/flamegraph.pl out.folded > oncpu_$2.svg
else
    sudo ./FlameGraph-master/flamegraph.pl out.folded > offcpu_$2.svg
fi

火焰图生成脚本资源下载icon-default.png?t=N7T8https://download.csdn.net/download/shenhuxi_yu/88518447

 生成的svg文件用浏览器打开即可,注意事项如下


--> ERROR: No stack counts found: sudo apt-upgrade perl

--> echo -1 > /proc/sys/kernel/perf_event_paranoid

--> unknown symbol 编译参数加-g

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/125340.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

144. 二叉树的前序遍历

描述 : 给你二叉树的根节点 root &#xff0c;返回它节点值的 前序 遍历。 题目 : LeetCode 二叉树的前序遍历 : 144. 二叉树的前序遍历 分析 : 我们先选一个最小的子树: 先判断5节点不是null之后把5添加到集合里 , 再把5的左节点递归 , 判断7节点不是null把7添加到集合中 …

Git简介和安装

一&#xff0c;Git简介 Git 是一个分布式版本控制工具&#xff0c;通常用来对软件开发过程中的源代码文件进行管理。通过Git 仓库来存储和管理这些文件&#xff0c;Git 仓库分为两种&#xff1a; 本地仓库&#xff1a;开发人员自己电脑上的 Git 仓库 远程仓库&#xff1a;远程…

云MES优势有哪些?

云MES可以说是近几年来的行业焦点&#xff0c;云MES使用公共云提供商(如华为云、腾讯云、阿里云等)的全球数据中心中的广泛硬件和基础架构&#xff0c;在公共云中的Internet上运行&#xff0c;线下线上互联互通&#xff0c;有效帮助企业实现生产数字化智能化。 近几年来云服务…

Linux 多线程编程详解

目录 为什么要使用多线程 线程概念 线程的标识 pthread_t 线程的创建 向线程传入参数 线程的退出与回收 线程主动退出 线程被动退出 线程资源回收(阻塞方式) 线程资源回收(非阻塞方式) 为什么要使用多线程 在编写代码时&#xff0c;是否会遇到以下的场景会感觉到难以…

显著提升!| (WOA)融合模拟退火和自适应变异的混沌鲸鱼优化算法应用于函数寻优

鲸鱼优化算法(whale optimization algorithm,WOA)是由Mirjalili和Lewis[1]于2016年提出的一种新型群体智能优化搜索方法,它源于对自然界中座头鲸群体狩猎行为的模拟&#xff0c;与其它群体智能优化算法相比&#xff0c;WOA算法结构新颖, 控制参数少&#xff0c;在许多数值优化和…

在IDEA中配置Web开发环境

一、idea配置Web开发环境 第一步&#xff1a;下载并安装Tomcat服务器&#xff08;建议放根目录&#xff0c;完整路径中不要出现中文&#xff09; 第二步&#xff1a;打开IDEA&#xff0c;新建java项目 第三步&#xff1a;为项目添加Web应用 在项目上右键➡️选择“Add Framew…

在线存储系统源码 网盘网站源码 云盘系统源码

Cloudreve云盘系统源码-支持本地储存和对象储存,界面美观 云盘系统安装教程 测试环境:PHP7.1 MYSQL5.6 Apache 上传源码到根目录 安装程序: 浏览器数据 http://localhost/CloudreveInstallerlocalhost更换成你的网址 安装完毕 记住系统默认的账号密码 温馨提示:如果默认…

已解决:云原生领域的超时挂载Bug — Kubernetes深度剖析

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

线性代数(三) | 向量组的秩 线性相关无关 几何直观理解 题解应用

文章目录 1 维数&#xff1f;向量组的秩究竟是什么&#xff1f;1.1 线是一维的1.2 面是二维的1.3 体是三维的 2 线性相关、线性无关、线性表示究竟是什么&#xff1f;2.1 基于以上几何直观的解题角度2.2 基于方程组的解题角度 1 维数&#xff1f;向量组的秩究竟是什么&#xff…

10道高频Vuex面试题快问快答

※其他的快问快答&#xff0c;看这里&#xff01; 10道高频Qiankun微前端面试题快问快答 10道高频webpack面试题快问快答 20道高频CSS面试题快问快答 20道高频JavaScript面试题快问快答 30道高频Vue面试题快问快答 面试中的快问快答 快问快答的情景在面试中非常常见。 在面试过…

[100天算法】-面试题 17.11.单词距离(day 68)

题目描述 有个内含单词的超大文本文件&#xff0c;给定任意两个单词&#xff0c;找出在这个文件中这两个单词的最短距离(相隔单词数)。如果寻找过程在这个文件中会重复多次&#xff0c;而每次寻找的单词不同&#xff0c;你能对此优化吗?示例&#xff1a;输入&#xff1a;word…

天津WEB前端培训哪家好?Web机构推荐!

05年以后&#xff0c;互联网已经进入了web2.0时代&#xff0c;同时也标志着网站的前端由此发生了翻天覆地的变化&#xff0c;现在市场上对WEB前端开发工程师岗位有着很大的需求&#xff0c;学习web前端开发的方式有很多种&#xff0c;对于初学者来说&#xff0c;选择自学还是培…

大数据毕业设计选题推荐-河长制大数据监测平台-Hadoop-Spark-Hive

✨作者主页&#xff1a;IT研究室✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

2023.11-9 hive数据仓库,概念,架构

目录 一.HDFS、HBase、Hive的区别 二.大数据相关软件 三. Hive 的优缺点 1&#xff09;优点 2&#xff09;缺点 四. Hive 和数据库比较 1&#xff09;查询语言 2&#xff09;数据更新 3&#xff09;执行延迟 4&#xff09;数据规模 五.hive架构流程 六.MetaStore元…

AI:73-结合语法知识的神经机器翻译研究

🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌在这个漫长的过程,中途遇到了不少问题,但是…

企业微信开发教程一:添加企微应用流程图解以及常见问题图文说明

最近在前辈的基础上新添加了一个企微应用&#xff0c;过程中遇到了一些卡点&#xff0c;这里一一通过图片标注与注释的方式记录一下&#xff0c;希望能给后来人提供一些清晰明了的帮助&#xff0c;话不多说&#xff0c;大家直接看图吧。 &#xff08;文中包括一些本项目独有的配…

[Matlab]基于LSTM+NSGA2的风光火力发电策略优化

最近比较忙&#xff0c;好久没分享案例啦&#xff0c;今天简单分享一个滚动时域的多目标优化 一 模型介绍 1 风电 2 光伏 3 火电 4 储能 5 用电需求 等五个对象。 其中风电和光伏还有用电需求&#xff0c;用历史数据LSTM网络&#xff0c;训练一个预测模型&#xff1b;火电根据策…

使用sizeof()和strlen()去计算【数组】和【指针】的大小

文章目录 一、知识回顾1、回顾sizeof()、strlen的作用&#xff1a;2、数组和指针3、数组名 二、sizeof()、strlen()的使用区别1、注意区别&#xff1a;2、一维数组与一级指针3、二维数组与二级指针 三、总结回顾 一、知识回顾 1、回顾sizeof()、strlen的作用&#xff1a; siz…

LinkedList的插入速度一定比ArrayList快吗?

目录 一、有一道经典的面试题&#xff0c;“ArrayList 和 LinkedList 的区别是什么&#xff1f;”1、小白答法&#xff1a;2、入门答法&#xff1a;3、系统回答 二、LinkedList的插入速度一定比ArrayList快吗&#xff1f;三、分析一下两种数据结构的add源码1、先分析熟悉的Arra…

07【保姆级】-GO语言的程序流程控制【if switch for while 】

之前我学过C、Java、Python语言时总结的经验&#xff1a; 先建立整体框架&#xff0c;然后再去抠细节。先Know how&#xff0c;然后know why。先做出来&#xff0c;然后再去一点点研究&#xff0c;才会事半功倍。适当的囫囵吞枣。因为死抠某个知识点很浪费时间的。对于GO语言&a…
最新文章