


性能查看工具JProfiler,可用于查看java执行效率,查看线程状态,查看内存占用与内存对象,还可以分析dump日志.






在Thread界面则可以实时查看线程运行状态,黄色的是wait 红色是block 绿色的是runnable蓝色是网络和I/O请求状态

选择ThreadDumps,可以录制瞬时线程的调用堆栈信息,如下图所示:

当JProfiler连接到JVM之后选择Heap Walker,选择Take snapshot图标,然后等待即可


如果内存很大,jprofiler万一参数设置的不正确打不开就需要要重新生成,内存小的时候无所谓
当JProfiler连接到JVM之后选择菜单上的Profiling->save HPROF snapshot 弹出下拉框保存即可,这时候生成的文件就可以一直保存在文件上
jmap -dump:format=b,file=文件名 pid
windows下不用[],路径要加引号
jmap -dump:format=b,file="D:\a.dump" 8632命令中文件名就是要保存的dump文件路径, pid就是当前jvm进程的id
在发生outofmemory的时候自动生成dump文件:
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=D:\heapdumpPah后面是一个存在的可访问的路径,将改参数放入jvm启动参数可以在发生内存outofmemory的时候自动生成dump文件,但是正式环境使用的时候不要加这个参数,不然在内存快满的时候总是会生成dump而导致jvm卡半天,需要调试的时候才需要加这个参数
注意:通过WAS生成的PHD文件dump不能分析出出问题的模板,因为PHD文件不包含对象的值内容,无法根据PHD文件找到出问题的模板,所以PHD文件没有太大的参考价值
dump文件生成后,将dump压缩传输到本地,不管当前dump的后缀名是什么,直接改成*.hprof,就可以直接用jprofiler打开了
打开的过程时间可能会很长,主要是要对dump进行预处理,计算什么的,注意 这个过程不能点skip,否则就不太好定位大文件
.hprof文件








这样界面的时候下面可以开始进行操作了!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。