Java性能分析,火焰图分析cpu热点代码

记录一下如何用工具分析找到项目中占用cpu时间最长的代码

主要是两个工具,一个是async-profiler,另外一个是FlameGraph

可以利用git,从github仓库中,下载下来。

git clone https://github.com/jvm-profiling-tools/async-profiler

git clone https://github.com/brendangregg/FlameGraph

下载之后,进入对应的目录,给执行权限。

cd async-profiler
chmod +x *.sh

cd FlameGraph
chmod +x *.pl

对于,async-profile需要编译一下

cd async-profiler
make

然后,找到对应的java程序的进程,比如有进程23987

jps -l

进入async-profiler目录,采集数据,进行监控

./profiler.sh -d 20 -o collapsed -f /tmp/profile.log 23987

进入FlameGraph目录,输出到svg

./flamegraph.pl --colors=java /tmp/profile.logt > /tmp/profile.svg

文章来源:https://blog.csdn.net/flybridy/article/details/81947570

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 作者: 一字马胡 转载标志 【2017-11-19】 更新日志 导入 本文主要想要记录进行java应用性能分析的...
    一字马胡阅读 7,036评论 0 10
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,540评论 1 32
  • 今天学习了numpy库。
    赵敏_河师大阅读 168评论 0 2
  • 年少轻狂 你不知何为故乡 有了闯荡 便以为可以豪情万丈 饮一壶酒 你不知何为江湖 仗剑天涯 便以为可以儿女情长 那...
    异乡戍边人阅读 293评论 0 0
  • 利用课余时间,将电风扇一个一个拆开、洗净、晾干,然后重新组装起来,小学生们的夏天就舒服了——有时候,开空调还不够,...
    清水之湄阅读 317评论 2 3

友情链接更多精彩内容