内存分析Java内存分析一般使用Javajmapdump下的系统内存文件,使用jmat进行分析。线程分析线程栈一般通过jstack获取。cpu分析火焰图arthas火焰图是cpu调试的神器。最早被春哥大神用在openresty中,后来逐渐普及到各种语言。Java目前用的不多。所以在这里普及一下火焰图的安装和一些使用安装步骤的代码。首先需要下载火焰图工具下载安装FlameGraph下载地址:https://github.com/cobblau/Fl...这是安装后的火焰图生成工具。需要安装一个工具:perf-map这里的perf-map至少需要Java版本1.7以上下载地址:http://www.github.com/jvm-pro...安装命令cmake.make需要安装jvm参数后设置-XX:+PreserveFramePointerjvm参数后为收集结果阶段:使用命令后为收集结果阶段:使用命令perfrecord-a-g-p65269-F99--sleep30java-cpattach-main.jar:$JAVA_HOME/lib/tools.jarnet.virtualvoid.perf.AttachOncePIDperf脚本|stackcollapse-perf.pl|flamegraph.pl>process.svg火焰图生成结果:bar越长消耗cpu越多,在每个bar中点击都能看到自己的childcallstack
