idea 一打开 就提示内存溢出_JAVA内存分析:基于dump内存溢出快照分析
发布日期:2021-06-24 17:05:36 浏览次数:2 分类:技术文章

本文共 1241 字,大约阅读时间需要 4 分钟。

引言

Java程序在服务端运行的时候,在长时间运行或者访问量较大的时候,会遇见内存溢出的情况。

这时如果我们没有进行JVM的内存分析,将无法对问题进行定位,那么我们即使对服务端进行重启,在后续的运行过程中,还是会预见内存溢出的情况。
那么我们结合实际情况,通过一些实例来模拟内存溢出的情况,及如何去分析。

正文

1,模拟内存溢出

1.1 新建一个bean对象

package com.moonl.jvm.beans;

public class MemoryOverflow {

}

1.2 建一个main方法来进行程序的运行

package com.moonl.jvm;

import com.moonl.jvm.beans.MemoryOverflow;

import org.springframework.boot.test.context.SpringBootTest;

import java.util.ArrayList;

import java.util.List;

@SpringBootTest

public class MemoryOverflowTest {

    public static void main(String[] args) {

        List list = new ArrayList<>();

        while (true){

            list.add(new MemoryOverflow());

        }

    }

}

1.3 设置运行时的内存

f80feea12a21f186c4e8c3eb997a3bf2.png

88aa9be822f5028b9e1b6581cdedf841.png

现在我们开始运行程序这时一段很简单的代码,无限循环,不断的将创建一个对象,并加入到list当中,此时我们发现报错提示,内存溢出了。我们生产环境,系统后台的运行时内存溢出,就这样模拟出来了。

067f89ea78d69667b4a60e7fb90332df.png

2,定位问题

当我们生产环境,出现内存溢出之后,面对量级比较大的系统,一般是无法通过日志进行定位内存溢出的位置,那么就需要在运行时,加上一段参数,生成运行时内存溢出的快照。

-Xms21m -Xmx21m -XX:+HeapDumpOnOutOfMemoryError

如图所示:

dc34d66f8252e9eed5a2006b92a18943.png

运行后,会出现如图所示:

a58aa5f5169a06b6b03867ed49c505b1.png

在程序的工程目录包里面,我们就可以找到,刚生成的文件快照,但该文件的阅读方式,需要单独下载单独的工具进行查询。这里我使用的是:Jprofiler 大家可以去下载,安装过程不再累述。

3d9f3728dbb337d9f5a1afbc2cec4755.png

3,分析内存溢出的原因

打开Jprofiler—Session—open Snapshotf4eddbc22750ea6e3d270d283ed0cd2b.png

弹出对话框后,选择要进行分析的文件

8c0f545e1757c63ca6f058588114adcb.png

就可以看到是什么原因造成内存溢出的,当然在进行生产环境的内存溢出分析时,需要排查和分析的地方更多

d6d3f0ca4d0e9269d62cdae1b55f1783.png

后记

总结一下,本文所述的方法是在采用在vm options:-Xms21m -Xmx21m -XX:+HeapDumpOnOutOfMemoryError,中

添加HeapDumpOnOutOfMemoryError,生成快照日志完成的,下一期,我们将讲解通过idea和jprofiler进行整合,查看
内存运行情况。

转载地址:https://blog.csdn.net/weixin_34005314/article/details/113079437 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:mysql5.5端口被占用_3306端口被占用,MySQL5.1启动失败
下一篇:gre隧道终结功能_Juniper vMX与Linux建立GRE隧道实验

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月07日 15时40分23秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章