在我们项目开发过程中,有时候会遇到OOM(OutOfMemoryError)问题,这是提示我们内存不足错误,遇到这个问题,我们首先可以进行扩容操作
在VM options中输入如下命令来对内存进行扩容
-Xms1024m -Xmx1024m -XX:+PrintGCDetails
Xms:设置初始化内存分配大小,1/64
Xmx:设置最大内存分配大小,1/4
-XX:+PrintGCDetails:打印GC垃圾回收信息
如果扩容也解决不了OOM的问题,那么我们就要引入Java性能分析神器-JProfiler来解决了,他会具体到造成OOM的代码某一行,
在VM options中输入如下命令:
-Xms1024m -Xmx1024m -XX:+HeapDumpOnOutOfMemoryError
JProfiler是一个重量级的JVM监控工具,提供对JVM精确监控,其中堆遍历、CPU剖析、线程剖析看成定位当前系统瓶颈的得力工具。可以统计压测过程中JVM的监控数据,定位性能问题。他和eclipse中的MAT效果是差不多的。都是内存快照分析工具。
优点:
分析Dump内存文件,快速定位内存泄漏
获得堆中的数据
获得大的对象
JProfiler的安装
JProfiler的安装
JProfiler详解
JProfiler详解