记录一次内存溢出

1、查看catalina相关日志,确定关键字相关行号 

文件:catalina.out命令1:cat -n catalina.out |grep -a 'OutOfMemoryError'与内存溢出相关的如上,每一个行号其实都对应到具体时间点。可以发现,这个范围相符合:633851  Apr 11, 2024 9:59:02 AM  -- 4月11日
633879  Apr 11, 2024 10:33:20 AM -- 4月11日

2、分析起止行号的日志

命令2:cat -n catalina.out |tail -n +633500|head -n 400633838  java.lang.OutOfMemoryError: Java heap space
633839  Dumping heap to /opt/web/oms.xxx.cn/java/java_pid17812.hprof ...

 

-XX:+HeapDumpOnOutOfMemoryError

-XX:HeapDumpPath=/opt/web/oms.xxx.cn/java

3、jhat,分析获取的.hprof文件

jhat /Users/quanxin/Downloads/java_pid17812.hprofjhat -J-mx10g /Users/quanxin/Downloads/java_pid17812.hprof

​​​​​​https://www.php.cn/faq/522972.html

4、关键字检索:Xobj$AttrXobj

内存溢出 org.apache.xmlbeans.impl.store.Xobj$AttrXobj

POI直接加载Excel文件导致的线上OOM问题_apache poi读取大的excle哪里容易产生oom-CSDN博客

5、安装mat 定位业务日志

参考5步,链接。使用MemoryAnalyzer加载dump文件, 查看Thread Stack线程栈信息

工具不行,太老了。eclipse下的插件。

安装一直失败,也许mac的原因。还需要对应jdk版本,太麻烦。

6、换个工具试试,JProfiler

如何使用,请自行百度,摸索半小时。

随便找几个看看,全部都定位到。

//      at com.xxx.web.oms.controllers.detection.insurance.InsuranceController.add() (line: 1624)

用户操作记录

跟内存溢出的时间,基本吻合。

633851  Apr 11, 2024 9:59:02 AM  -- 4月11日
633879  Apr 11, 2024 10:33:20 AM --

7、业务代码与结论

WFHttpServletRequestWrapper rw = (WFHttpServletRequestWrapper) BeatContext.current().getRequest();
String filename = rw.getFile("fileName").getOriginalFilename();
Workbook wb = FileUtil.getWorkbook(rw, "fileName");

结果:用户导入一个excel,大约40MB,复制了很多空行导致。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/623068.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

temux安装debian自用记录

http://ip:9001/ user/123 http://ip:5705/index admin/drpy 一、安装Ubuntu1804 1.首先安装termux.app 2.启动该app,输入命令 curl -Lo l l.tmoe.me; sh l 3.运行过程中连续选“Y”&…

【学习笔记十三】EWM常见上架策略介绍

一、手工维护上架策略 系统不确定Storage type 和 bin,需要在创建仓库任务时或者确认仓库任务时手工输入仓位 1.后台配置-定义存储类型的类型0010 ①存储行为:标准仓位 ②入库规则:空仓未或添加至现有库存/空仓位 ③通用仓库任务&#x…

【学习笔记十二】EWM上架仓位确定逻辑及操作演示

一、前言 关于EWM上架仓位确定的过程,我在【学习笔记十一】EWM上架目标仓位确定过程及配置-CSDN博客中讲到了 EWM根据仓库类型(storage type)、仓库分区(storage section)和上架策略(putaway strategies&…

WordPress网站上添加看板娘

续接上篇——基于LNMP部署wordpress-CSDN博客 目录 一.下载并解压 二.设置头文件 修改header.php 修改配置文件footer.php 三.将你设置的主题包上传到/usr/share/nginx/html/wp-content这个目录里 四.扩展——将看板娘修改到左侧 一.下载并解压 [rootaliyun ~]# wget htt…

提升数据质量的三大要素:清洗prompt、数据溯源、数据增强(含Reviewer2和PeerRead)​

前言 我带队的整个大模型项目团队超过40人了,分六个项目组,每个项目组都是全职带兼职,且都会每周确定任务/目标/计划,然后各项目组各自做任务拆解,有时同组内任务多时 则2-4人一组 方便并行和讨论,每周文档…

Adobe Premiere 2015 下载地址及安装教程

Premiere是一款专业的视频编辑软件,由Adobe Systems开发。它为用户提供了丰富的视频编辑工具和创意效果,可用于电影、电视节目、广告和其他多媒体项目的制作。 Premiere具有直观的用户界面和强大的功能,使得编辑和处理视频变得简单而高效。它…

算法库应用-有序单链表插入节点

学习源头: 模仿贺利坚老师单链表排序文章浏览阅读5.9k次。  本文针对数据结构基础系列网络课程(2):线性表中第11课时单链表应用举例。例:拆分单链表 (linklist.h是单链表“算法库”中的头文件,详情单击链接…)//本程…

每日两题 / 22. 括号生成 54. 螺旋矩阵(LeetCode热题100)

22. 括号生成 - 力扣&#xff08;LeetCode&#xff09; dfs生成合法的括号序列即可 class Solution { public:vector<string> ans;void dfs(int l, int r, int n, string& s){if (s.size() n * 2){ans.push_back(s);return;}if (l){s "(";dfs(l - 1, …

泰迪智能科技受邀参加花都区产教评技能生态链建设政策宣讲培训会

2024年4月8日&#xff0c;由广州市花都区人力资源和社会保障局主办的花都区产教评技能生态链建设政策宣讲培训会在广州市华风高级技工学校顺利举行。广东省人力资源和社会保障厅职业能力建设处鲍彬科长&#xff0c;广州市人力资源和社会保障局职业能力建设处肖飞扬科长&#xf…

【自媒体创作利器】AI白日梦+ChatGPT 三分钟生成爆款短视频

AI白日梦https://brmgo.com/signup?codey5no6idev 引言 随着人工智能&#xff08;AI&#xff09;技术的快速发展&#xff0c;AI在各个领域都展现出了强大的应用潜力。其中&#xff0c;自然语言处理技术的进步使得智能对话系统得以实现&#xff0c;而ChatGPT作为其中的代表之一…

微服务之分布式链路追踪

一、概述 1.1背景 在微服务框架中&#xff0c;一个由客户端发起的请求在后端系统中会经过多个不同的的服务节点调用来协同产生最后的请求结果&#xff0c;每一个前段请求都会形成一条复杂的分布式服务调用链路&#xff0c;链路中的任何一环出现高延时或错误都会引起整个请求最…

10. Spring MVC 程序开发

本文源码位置: Spring-MVC 1. Spring MVC 概要 摘自Spring官方&#xff1a; Spring Web MVC is the original web framework built on the Servlet API and has been included in the Spring Framework from the very beginning. The formal name, “Spring Web MVC,” comes …