美文网首页
out of memory dump分析

out of memory dump分析

作者: lomo萌神 | 来源:发表于2020-11-25 22:19 被阅读0次

    1 设置-Xms和-Xmx相等,避免内存频繁回收申请

    2 -XX:+AlawaysPreTouch可避免预热:

    如果程序最开始运行就需要申请3g内存,该参数可以帮助直接申请3g内存,避免频繁申请内存。
    

    3、out of memory解决方案(以下均假设不确定哪出问题)

    4 例子

    4.1 编写出现OutOfMemoryError的代码

    /**
     * @author lomo
     * @date 2020/11/25 21:53
     * @description
     */
    public class OOMTest {
        private static volatile boolean flag = true;
    
        public static void main(String[] args) {
            ExecutorService executorService = Executors.newFixedThreadPool(2);
            while (flag) {
                executorService.submit(() -> {
                    System.out.println(Thread.currentThread().getName());
                    try {
                        Thread.sleep(3000L);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                });
            }
        }
    
    }
    

    4.2 IDEA配置JVM的启动参数

    点击Edit Configurations...

    -Xms60m -Xmx60m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=D:\logs
    

    5. 分析

    5.1 Dump下的文件:

    5.2

    采用IBM HeapAnalyzeer

    链接: https://pan.baidu.com/s/1nA9hqDSpt3liRDuBAV2ZMA 提取码: ysq7

    下载完成之后是hump分析.jar

    运行jar包


    选择我们dumping下来的.hprof文件


    1
    2
    3

    基本上就能看出问题出在哪

    相关文章

      网友评论

          本文标题:out of memory dump分析

          本文链接:https://www.haomeiwen.com/subject/ysdoiktx.html