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

利用java visualvm 分析内存溢出oom

利用java visualvm 分析内存溢出oom

1.准备一段oom的测试java代码

@RequestMapping("/triggerOOM")
    public String triggerOOM() {
        List<Object> list = new ArrayList<>();
        int i=0;
        while (true) {
            oomMap.put(String.valueOf(i),new User("111"));
            System.out.println("oom"+i);
            i++;
            if(i==1000000){
                return "end";
            }
        }
    }

2.启动visualvm
20241025151002

3.启动项目
20241025151104
此时visualvm中就可以看到这个项目了
20241025151309
20241025151347

4.运行测试代码
20241025151435
20241025151513
20241025151629

5.生成dump文件后从dump堆中分析oom原因
20241025151748
20241025152239
20241025152330
20241025152434

线上一般会导出来一个堆的hprof文件
20241025154418

此时cmd中输入jvisualvm,如果path配置好了,则会弹出窗口
选择装入
20241025154524
20241025154648
然后就和上面的分析方法一样了


http://www.kler.cn/news/365248.html

相关文章:

  • SAP RFC 的几种类型
  • MAVlink协议 部分通用消息集解析
  • LabVIEW提高开发效率技巧----节省内存
  • 进程间通信(二)消息队列、共享内存、信号量
  • Ruby 从入门到精通:学习之旅与资源推荐
  • 参加了十多个面试,一个offer也没拿到...为什么?
  • Oracle 第1章:Oracle数据库概述
  • nginx配置文件详解
  • Docker 部署 EMQX 一分钟极速部署
  • 数据结构之顺序表——王道
  • 为了数清还有几天到周末,我用python绘制了日历
  • 两个yaml转成的 excel对比
  • Redis3
  • 【C】数组(array)
  • PHP PDO:安全、灵活的数据持久层解决方案
  • 【ios】---SwiftUI开发从入门到放弃
  • 每日一题——第一百一十八题
  • TCP控制位|标志位
  • 走廊泼水节——求维持最小生成树的完全图的最小边权和
  • HUAWEI_HCIA_实验指南_Lib3.2_配置Trunk接口
  • Spring Boot整合Stripe订阅支付指南
  • 线程池——Java
  • OCR提取影印版PDF文档的中日英三种文字
  • VUE中文本域默认展示最底部内容
  • C++20中头文件ranges的使用
  • 10.25学习