zoukankan      html  css  js  c++  java
  • jvm内存溢出问题分析——Eclipse Memory Analysis的安装和使用

    转:https://blog.csdn.net/zhou920786312/article/details/84195752

    内存溢出问题分析——Eclipse Memory Analysis的安装和使用

    1安装

    在Eclipse help -> Eclipse Marketplace下搜索Memory.找到图中的软件,默认安装就可以。

    2测试:

    1测试代码

    public class Test1 {
      public static void main(String[] args) {
        List<Demo> list = new ArrayList<>();
        while (true) {
          list.add(new Demo());
        }
      }
    }

    public class Demo {

    }

    1虚拟机配置

    在main方法上,右击鼠标 --> run as--> run configurations..  ,打开run configurations窗口

    在run configurations窗口后,设置参数:-XX:+HeapDumpOnOutOfMemoryError -Xms20m -Xmx20m

    • -Xms20m -Xmx20m ##设置堆大小20m,并将最小和最大值设置相等,避免扩展
    • -XX:+HeapDumpOnOutOfMemoryError ##当前的内存堆转储快照,默认在项目的工作空间

     打开windows任务管理器窗口,查看内存

    运行结果

    3使用Memory Analysis

    1打开Memory Analysis

    2打开dump文件 

    4分析

     

    上图中,可以看到demo创建很多

    参数

    • Shallow Heap浅堆:java对象占用的内存
    • Retained Heap深堆:java对象及对象引用的类占用的内存 ,jvm gc回收时释放的内存
    • Retained Heap深堆大于等于Shallow Heap浅堆
  • 相关阅读:
    TensorFlow神经网络集成方案
    过滤节点
    获取子节点
    获取兄弟节点
    获取父节点
    遍历DOM树
    获取修改CSS
    获取修改元素属性
    获取修改value
    获取更新元素文本html()
  • 原文地址:https://www.cnblogs.com/wenhuang/p/13296525.html
Copyright © 2011-2022 走看看