async-profiler使用

简介 async-profiler 是一款低开销采集分析 java 性能的工具。它利用HotSpot特殊的 api 来收集栈信息以及内存分配信息,可以在OpenJDK,Oracle JDK以及一些其他的基于 HotSpot 的 java 虚拟机。async-profiler 可以追踪以下几种事件: cpu 周期; 硬件和软件性能计数器,例如高速缓存未命中,分支未命中,页面错误,上下文切换等; Java 堆中内存的分配; 锁尝试,包括 Java 对象监视器和 Reentrant…

使用火焰图做性能分析

火焰图(Flame Graph)是由 `Linux` 性能优化大师 `Brendan Gregg` 发明的。它是定位疑难杂症的神器,比如 `CPU` 占用高、内存泄漏等问题。 和所有其他的 `trace` 和 `profiling` 方法不同的是,`Flame Graph` 以一个全局的视野来看待时间分布,它从底部往顶部,列出所有可能的调用栈。 Flame Graph 火焰图看起来就像一团跳动的火焰,这也正是其名字的由来。燃烧在火苗尖部的就是 CPU 正在…