首页 > 其他分享 >not-perf cpu采样profiler工具

not-perf cpu采样profiler工具

时间:2023-05-05 10:24:46浏览次数:48  
标签:help trace profiler flamegraph Emits nperf cpu perf

not-perf 类似perf,但是实现了cpu 无关,可以开箱即用

支持的特性

  • 支持多种cpu 架构
  • 支持离线以及在线stack trace展开
  • 支持不带debuginfo 的分析
  • 支持跨架构数据分析
  • 架构无关的数据费事
  • 内置火焰图

参考使用

  • 支持的命令
nperf-core 0.1.1
Jan Bujak <[email protected]>
 
USAGE:
    nperf <SUBCOMMAND>
 
FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information
 
SUBCOMMANDS:
    collate         Emits collated stack traces for use with Brendan Gregg's flamegraph script
    csv             Emits a CSV file
    flamegraph      Emits an SVG flamegraph
    help            Prints this message or the help of the given subcommand(s)
    metadata        Outputs rudimentary JSON-formatted metadata
    record          Records profiling information with perf_event_open
    trace-events    Emits trace events for use with Chromium's Trace Viewer
  • trace nginx
    注意内核可能需要配置echo 0 > /proc/sys/kernel/perf_event_paranoid
 
nperf  record -P nginx

效果

 

进行一个压测

  • 生成火焰图
 
nperf  flamegraph 20230505_020349_02059_nginx.nperf  > /opt/apps/flame.svg

 


效果(如何包含了debug 信息分析会更加全的)

说明

因为默认官方的构建使用高版本的glibc 我自己构建了一个支持centos7 的,具体参考github

参考资料

https://github.com/koute/not-perf
https://github.com/rongfengliang/not-perf-package/releases/tag/v0.1.1
https://github.com/rongfengliang/not-perf-package/blob/main/flame.svg

标签:help,trace,profiler,flamegraph,Emits,nperf,cpu,perf
From: https://www.cnblogs.com/rongfengliang/p/17373354.html

相关文章

  • VS项目调试x86,x64,any cpu的区别
    VS项目调试x86,x64,anycpu的区别?1、对应的编译出来的程序位数不同。x86平台编译出来的exe(可执行文件)或dll(动态链接库)都是32位的。x64对应的则是64位的。而AnyCPU则是取决于当前的操作系统,若操作系统是32位的,则编译出来的程序就是32位的,反之编译出来的就是64位程序。1)若你......
  • Vmware虚拟机热添加CPU与内存
    vCenter版本:7.0.3ESXi版本:7.0.3 在配置CPU的时候,勾选EnableCPUHotPlug,这样就可以在线添加CPU而不用关机虚拟机了。在配置Memory的时候,勾选EnableMemoryHotPlug,这样就可以在线添加内存而不用关机虚拟机了。如果要降低配置,需要将虚拟机关机之后才可以操作;—————......
  • chrome 高cpu占用 性能分析
    VisualStudio性能探查器WindowsPerformanceToolkitPerfView应该只能用于.NET尝试了chrome://tracing/,但是暂时没太看懂里面都是什么意思 搜着搜着发现了一个UIforETW,这个好像是专门用于chrome的EventTracingforWindows(ETW),所以试用了一下msiexec.exe/i"C:\User......
  • linux cpufreq framework(5)_ARM big Little driver
    1.前言也许大家会觉得奇怪:为什么Linuxkernel把对ARMbig·Lttile的支持放到了cpufreq的框架中?众所周知,ARM的big·Little架构,也称作HMP(具体可参考“LinuxCPUcore的电源管理(2)_cputopology”中相关的介绍),通过在一个chip中封装两种不同类型的ARMcore的方式,达到性能和功耗的......
  • bytehound linux 内存profiler工具
    bytehound是基于rust开发的,方便的linux内存profiler工具特性支持分析内存了泄漏,内存消费情况支持完整的调用栈分析包含了ui支持导出数据,使用火焰图分析支持jemalloc分配器的分析参考使用通过LD_PRELOAD,此模式是通过环境变量的,当然也可以通过/etc/ld.so.preload配......
  • 从CPU的视角看 多线程代码为什么那么难写!
      当我们提到多线程、并发的时候,我们就会回想起各种诡异的bug,比如各种线程安全问题甚至是应用崩溃,而且这些诡异的bug还很难复现。我们不禁发出了灵魂拷问“为什么代码测试环境运行好好的,一上线就不行了?”。为了解决线程安全的问题,我们的先辈们在编程语言中引入了各种各样新名......
  • 获得android手机的CPU核心数
    //CPU个数privateintgetNumCores(){//PrivateClasstodisplayonlyCPUdevicesinthedirectorylistingclassCpuFilterimplementsFileFilter{@Overridepublicbooleanaccept(Filepathname){//Checkiffilenameis&......
  • HPL:多进程CPU性能测试
    使用HPL进行CPU性能测试CPU型号为:AMDRyzen75800H,本次实验使用两台Linux虚拟机测试,每个虚拟机分配一个CPU。理论浮点峰值=CPU主频×CPU核数×CPU每周期执行浮点运算的次数本机CPU的基准频率为3.2GHZ,加速频率为4.4GHZghz。CPU有8核16线程(一个核虚拟成2个CPU),CPU单个周期浮点计算......
  • Pytorch2 如何通过算子融合和 CPU/GPU 代码生成加速深度学习
    动动发财的小手,点个赞吧!PyTorch中用于图形捕获、中间表示、运算符融合以及优化的C++和GPU代码生成的深度学习编译器技术入门计算机编程是神奇的。我们用人类可读的语言编写代码,就像变魔术一样,它通过硅晶体管转化为电流,使它们像开关一样工作,并允许它们实现复杂的逻辑——这......
  • Unity2020.1新功能探路:Profiler相关更新
    洪流学堂,让你快人几步。你好,我是你的技术探路者郑洪智,你可以叫我大智。大智作为探路者带你一块探索一下Unity2020.1里面有什么好玩的东西。这一次Profiler的更新比较大,咱们专门用一篇来看看Profiler方面的更新。主要包含以下几个方面:Profiler作为单独程序启动ProfileAnalyer包的更......