首页 > 其他分享 >CPU问题排查

CPU问题排查

时间:2023-08-08 09:00:21浏览次数:38  
标签:perf svg 问题 排查 unfold data CPU pl 函数

方法一:使用perf进行cpu分析

【安装方式:在root用户下运行yum install perf -y】

在终端使用perf top分析,查找函数热点

perf top -g -p pid

重点查看self列高的那一行

可以看到上面的例子中,A函数是热点,需要重点关注;按下Enter键可以展开调用链,如下图所示:

 

 

 

 

方法二:使用火焰图进行查看

格子宽度大的函数/方法,很有可能就是性能瓶颈所在

1)perf record -a -g -p 31705 -F 1000 sleep 10 // 采集10秒的数据保存在perf.data中
2)perf script -i perf.data &> perf.unfold // 用perf script工具对perf.data进行解析
3)./stackcollapse-perf.pl perf.unfold &> perf.folded // 将perf.unfold中的符号进行折叠
4)./flamegraph.pl perf.folded > perf.svg // 生成svg火焰图
5)使用浏览器打开perf.svg,可以发现函数A的占比最高,需要重点关注,如下图所示:

说明:stackcollapse-perf.pl和flamegraph.pl 下载地址:https://github.com/brendangregg/FlameGraph

标签:perf,svg,问题,排查,unfold,data,CPU,pl,函数
From: https://www.cnblogs.com/guoliushui/p/17427183.html

相关文章

  • 解决 Blazor 中因标签换行导致的行内元素空隙问题
    实践过不同前端框架的朋友应该都知道,对于同一个样式,在不同框架上的表现都会有不同,时时需要做“适配”,在Blazor上也不例外。在做AntDesignBlazor时就深有体会,因为我们是同步官方的样式,他们的样式只考虑了React上的实现,除非有人专门提PR,否则都不会特别考虑其他框架的实现。......
  • 解决 Blazor 中因标签换行导致的行内元素空隙问题
    实践过不同前端框架的朋友应该都知道,对于同一个样式,在不同框架上的表现都会有不同,时时需要做“适配”,在Blazor上也不例外。在做AntDesignBlazor时就深有体会,因为我们是同步官方的样式,他们的样式只考虑了React上的实现,除非有人专门提PR,否则都不会特别考虑其他框架的实现。......
  • .net core 单文件发布,找不到appsettings.json的问题
    解决方案config.SetBasePath(GetBasePath());config.AddJsonFile("appsettings.json",false);privatestringGetBasePath(){usingvarprocessModule=Process.GetCurrentProcess().MainModule;returnPath.GetDirectoryName(processModule?.FileName......
  • #yyds干货盘点# LeetCode程序员面试金典:水壶问题
    1.简述:有两个水壶,容量分别为 jug1Capacity 和jug2Capacity升。水的供应是无限的。确定是否有可能使用这两个壶准确得到 targetCapacity升。如果可以得到 targetCapacity 升水,最后请用以上水壶中的一或两个来盛放取得的 targetCapacity 升水。你可以:装满任意一个水壶清空......
  • 解决 Blazor 中因标签换行导致的行内元素空隙问题
    实践过不同前端框架的朋友应该都知道,对于同一个样式,在不同框架上的表现都会有不同,时时需要做“适配”,在Blazor上也不例外。在做AntDesignBlazor时就深有体会,因为我们是同步官方的样式,他们的样式只考虑了React上的实现,除非有人专门提PR,否则都不会特别考虑其他框架的实现。......
  • 解决 Blazor 中因标签换行导致的行内元素空隙问题
    实践过不同前端框架的朋友应该都知道,对于同一个样式,在不同框架上的表现都会有不同,时时需要做“适配”,在Blazor上也不例外。在做AntDesignBlazor时就深有体会,因为我们是同步官方的样式,他们的样式只考虑了React上的实现,除非有人专门提PR,否则都不会特别考虑其他框架的实现。......
  • HashMap的一些常见面试问题
    HashMaph一些常见面试问题一、hashmap底层如何实现的?jdk1.7中通过数组+链表实现;jdk1.8中通过数组+链表+红黑树实现它的主干是数组嘛,一个table数组使用链表是为了解决哈希冲突嘛所采用的链地址法红黑树是为了避免链表过长导致的查询效率变低它的一个底层存储原理是通过哈希......
  • 【专题】2022年预制菜行业现状问题、政策标准及趋势分析报告PDF合集分享(附原数据表)
    报告链接:https://tecdat.cn/?p=33388近年来,中国的预制菜行业迅速发展,已成为消费者生活中不可或缺的一部分。研究报告显示,预制菜行业在美国和日本等国家已经发展了很长时间,与中国市场相比,中国的预制菜市场仍有巨大的增长潜力。预制菜行业的蓬勃发展主要受到两个方面的推动:企业端通......
  • Ubuntu系统中火狐不能正常播放视频问题
    需要安装视频解码器打开终端,输入:sudoapt-getinstallffmpeg然后重启火狐查看视频能否正常播放,如果不能再在终端中输入:sudoapt-getinstallflashplugin-installer......
  • RMQ问题中的ST算法
    RMQ问题中的ST算法长为n的数组a,m次询问,求l~r中最大值是多少//RMQ问题中的ST算法//m次询问,求l~r中最大值是多少#include<bits/stdc++.h>#defineregregisterusingnamespacestd;//读取输入的函数inlineintread(){ intx=0,f=1; charch=getchar(); while(ch......