一、安装
从https://www.ej-technologies.com/download/jprofiler/files获取,如果需要对服务器远程分析,注意服务器版本的jprofiler和windows版本一致。
二、监控一个本地进程
2.1 不使用idea
安装之后,打开jprofiler,点击红框处
点击后,窗口中出现了目前正在运行的java进程
选择一个进程,点击下方的start
出现了报错,报错原因是MainApp这个进程是我使用idea启动的,观察发现,idea的所有进程都会报错,我们可以使用命令启动程序代替idea。
先找到MainApp.java文件所在位置,然后使用java命令进行编译和运行:
javac MainApp.java
java MainApp
再在jprofiler中选择我们启动的MainApp
会发现成功分析了
2.2 使用idea
安装好jprofile后,安装idea的jprofiler插件,进入idea,file->settings->plugins,搜索jprofiler,点击安装
安装后配置jprofiler软件的路径
然后重启idea,再次进入时,会发现idea右上角多了jprofiler的logo
这是个启动按钮,点击后,会启动程序并自动打开jprofiler并进行分析
三、分析dump文件
-XX:+HeapDumpOnXXX
在发生XXX错误时,来dump堆快照
例如:
-XX:+HeapDumpOnOutOfMemoryError
在发生OutOfMemoryError错误时,来dump堆快照
dump文件生成后,将dump压缩传输到本地,不管当前dump的后缀名是什么,直接改成*.hprof,就可以直接用jprofiler打开了,打开的过程时间可能会很长,注意这个过程不能点skip,否则不好定位大文件