当前位置: 首页 > Java > 正文

Java OOM示例、原因查找和解决(三)

1 星2 星3 星4 星5 星 (3 次投票, 评分: 3.67, 总分: 5)
Loading ... Loading ...
baidu_share

以-Xms20m -Xmx20m -Xmn10m -XX:+HeapDumpOnOutOfMemoryError执行com.bluedavy.oom.JavaHeapSpaceCase3

在控制台中可看到大量的java.lang.OutOfMemoryError: Java heap space,把生成的hprof文件放入MAT中进行分析,还好看到确实是Java Heap Space满了,这就好办了,点开Dominator Tree视图,可看到有一堆的线程,每个都占用了一定的内存,从而导致了OOM,要解决这个例子中的OOM,有四种办法:

一是减少处理的线程数;
二是处理线程需要消耗的内存;
三是提升线程的处理速度;
四是增加机器,减少单台机器所需承担的请求量。

上面这种状况在系统处理慢的时候比较容易出现。

本文固定链接: http://www.chepoo.com/java-oom-demo-error-solution-3.html | IT技术精华网

Java OOM示例、原因查找和解决(三):等您坐沙发呢!

发表评论