一、问题现状
现实企业级Java开发中,有时候我们会碰到下面这些问题:
OutOfMemoryError,内存不足
内存泄露
线程死锁
锁争用(Lock Contention)
Java进程消耗CPU过高
……
这些问题在日常开发中可能被很多人忽视(比如有的人遇到上面的问题只是重启服务器或者调大内存,而不会深究问题根源),但能够理解并解决这些问题是Java程序员进阶的必备要求。本文将对一些常用的JVM性能调优监控工具hprof进行介绍。
二、hprof文件的生成
生成hprof文件可以在DDMS(DDMS的全称是DalvikDebug
Monitor Service,是Android开发环境中的Dalvik虚拟机调试监控服务。提供测试设备截屏、查看特定进程正在运行的线程以及堆信息、Logcat、广播状态信息、模拟电话呼叫、模拟接收及发送SMS、虚拟地理坐标等服务)选中进程点击窗口左上角的”dump
hprof file”按钮来直接生成,也可以通过在程序加代码中来生成,以下通过设置生成hprof文件:
我们希望在memory 溢出时候能自动生成heap dump文件,为此,我们在运行时候添加JVM 参数:
–XX:+HeapDumpOnOutOfMemoryError
注:dump生成的.hprof文件默认放到了该项目目录下面。
如果觉得《java hprof文件_JVM性能调优监控工具hprof使用详解》对你有帮助,请点赞、收藏,并留下你的观点哦!