【OOM】解决思路

2019-11-02 16:03:03来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

【OOM】解决思路

一、什么是OOM?

     OOM就是outOfMemory,内存溢出!可能是每一个java人员都能遇到的问题!原因是堆中有太多的存活对象(GC-ROOT可达),占满了堆空间。

二、怎么解决?

     1、拿到内存溢出时的heapdump.hprof文件。

           1.1: 可在程序启动时增加启动参数:  -XX:+HeapDumpOnOutOfMemoryError  XX:HeapDumpPath=/test/test/test.hprof

           1.2: 如果没有加这个参数,可以通过命令输出这个文件:

                  1.2.1:jps命令查到当前java服务的pid

                  1.2.2:jmap -dump:live,format=b,file=/test/test/test.hprof pid

          1.3:去/test/test/文件夹下拿到test.hprof文件!

          注意:运行环境要安装完整的jdk.(有的机器上可能只安装了jre,那么jps、jmap这些命令就没法使用了);/test/test/这个文件夹要提前创建,不然不会输出hprof文件。

    

   2、分析heapdump.hprof文件。

       分析heapdump.hprof文件,我只推荐eclipse出的 MemoryAnalyzer 工具

       。。。。。有事情,下次再补充

 

 

 


原文链接:https://www.cnblogs.com/kbian/p/11780508.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Java自学-I/O 数据流

下一篇:微服务架构案例(03):数据库选型简介,业务数据规划设计