nbcio-boot项目内存溢出问题分析和解决

更多ruoyi-nbcio功能请看演示系统

gitee源代码地址

前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio

演示地址:RuoYi-Nbcio后台管理系统 http://218.75.87.38:9666/

更多nbcio-boot功能请看演示系统

gitee源代码地址

后端代码: https://gitee.com/nbacheng/nbcio-boot

前端代码:https://gitee.com/nbacheng/nbcio-vue.git

在线演示(包括H5) : http://218.75.87.38:9888

1、下面ruoyi-nbcio相对内存正常,特别是FGC比较小,一般为4左右

2、但nbcio-boot运行一天后出现下面情况

3、FGC比较高,都已经497了,还在不断增加,所以是有内存溢出现象了,后三项都比较高,正常应该都比较低了

4、正常情况应该比较少,而且比较稳定,不增加,重启上面的服务后出现下面,开始比较少,但一直在增加就不正常了

5、jmap -dump:live,format=b,file=nbcio-boot.hprof 28904

生成文件进行分析,打开内存分析器,如下:

6、点击跟内存泄漏相关的内容Leak Suspects

主要应该还是hashmap的内存溢出问题,因为这个很多编程都没注意到,特别是哪种频繁使用的代码,更要注意hashmap的内存泄漏问题。

实际公司生产系统可以通过jmeter进行模拟压力测试来再现相关内存溢出问题

FGC:从应用程序启动到采样时old代(全gc)gc次数

FGCT:从应用程序启动到采样时old代(全gc)gc所用时间(s)

GCT:从应用程序启动到采样时gc用的总时间(s)

7、经过修正运行一天后,内存泄漏问题解决

相关推荐
24k小善1 小时前
Flink TaskManager详解
java·大数据·flink·云计算
想不明白的过度思考者1 小时前
Java从入门到“放弃”(精通)之旅——JavaSE终篇(异常)
java·开发语言
.生产的驴1 小时前
SpringBoot 封装统一API返回格式对象 标准化开发 请求封装 统一格式处理
java·数据库·spring boot·后端·spring·eclipse·maven
猿周LV1 小时前
JMeter 安装及使用 [软件测试工具]
java·测试工具·jmeter·单元测试·压力测试
晨集1 小时前
Uni-App 多端电子合同开源项目介绍
java·spring boot·uni-app·电子合同
时间之城1 小时前
笔记:记一次使用EasyExcel重写convertToExcelData方法无法读取@ExcelDictFormat注解的问题(已解决)
java·spring boot·笔记·spring·excel
椰羊~王小美2 小时前
LeetCode -- Flora -- edit 2025-04-25
java·开发语言
凯酱2 小时前
MyBatis-Plus分页插件的使用
java·tomcat·mybatis
程序员总部2 小时前
如何在IDEA中高效使用Test注解进行单元测试?
java·单元测试·intellij-idea
oioihoii2 小时前
C++23中if consteval / if not consteval (P1938R3) 详解
java·数据库·c++23