Tomcat项目部署spring mvc项目,压测出现的问题

Tomcat项目部署spring mvc项目,压测出现的问题

项目部署:docker部署时候设置的内存是80G,JVM堆内存的初始堆和最大堆设置的内存都是64G

1、压测的时候,并发1000,循环1次

在这里插入图片描述
日志显示:堆内存溢出
在这里插入图片描述

2、排查出现堆内存溢出的原因

执行命令

1.1、查看系统整体的内存使用情况

free -h

结果:
在这里插入图片描述
可以看出内存总80G,使用62G,使用率还是78%

1.2、查看运行内存的进程id

ps -ef|grep tomcat

1.3、查看堆内存的使用情况(假设pid是1234)

jmap -heap 1234

结果:
在这里插入图片描述
可以看新生代和老年代的使用率挺高的。

3、如果出现堆溢出

Java 堆溢出(Heap Overflow)通常是由于应用程序中创建了过多的对象,导致堆内存不足而触发的错误。以下是一些解决 Java 堆溢出的常见方法:
1、增加堆内存大小:可以通过调整 JVM 的启动参数,增加堆内存的大小,例如通过 -Xms 和 -Xmx 参数来设置初始堆大小和最大堆大小。增加堆内存大小可以提供更多的内存空间,减少堆溢出的可能性。

2、优化代码:检查应用程序的代码,避免创建过多的临时对象或者不必要的对象。优化代码结构和算法,减少对象的创建和销毁次数,以降低堆内存的使用量。

3、检查内存泄漏:定期检查应用程序中是否存在内存泄漏问题,即未释放不再使用的对象导致内存占用过高。可以使用内存分析工具(如 Eclipse Memory Analyzer)来检测和解决内存泄漏问题。

4、使用对象池:考虑使用对象池技术,将对象缓存在池中,避免频繁地创建和销毁对象,减少堆内存的压力。

5、分析堆内存使用情况:通过监控和分析堆内存的使用情况,可以了解哪些对象占用了大量内存,从而有针对性地进行优化和调整。

6、升级 JVM 版本:在某些情况下,升级 JVM 到最新版本可以解决一些堆溢出问题,因为新版本的 JVM 在内存管理方面可能有一些改进和优化。
7、手动清理堆
1234是pid

jcmd 1234 GC.run

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2022年蓝桥杯省赛——ASC

目录 题目链接:1.ASC - 蓝桥云课 (lanqiao.cn) 题目描述 思路 代码实现 题目链接:1.ASC - 蓝桥云课 (lanqiao.cn) 题目描述 这是一道填空题。 已知大写字母A的ASCLL码为65,请问大写字母L的ASCLL码是多少。 对,呃&#xff0c…

创新入门|营销中的视频内容:不可或缺的策略

视频在营销中日益重要。你是否也发现,视频内容最近似乎无处不在?它占据着社交媒体的推文、网站首页,甚至电子邮件中的位置。事实上,并不是你一个人有这样的感受。在过去十年中,视频作为一种营销手段日益成熟和强大。这是因为,人类天生就是视觉动物。我们大脑处理视觉信息的速度…

II2C协议+Oled屏幕ssd1306

IIC协议 IIC协议概述 IIC全称Inter-Integrated Circuit (集成电路总线)是由PHILIPS公司在80年代开发的两线式串行总线,用于连接微控制器及其外围设备。IIC属于半双工同步通信方式。 特点 简单性和有效性 由于接口直接在组件之上,因此IIC总线占用的空间非…

公开课学习——JVM虚拟机面试核心点与性能优化点

文章目录 jdk的体系结构图Java语言的跨平台的特性,怎么实现的?jvm内部组成呢?pc的值怎么变得?main方法的栈帧有一点点区别,Math()是new出来的,放在堆区,这个堆区的math和我们栈帧中的局部变量表…

B端:权限管理,远非增删改查审,一文告诉你细节。

增删改查审是B系统权限的常用功能,但绝非是全部功能,权限管理从属于用户管理体系,本文就详细分享权限管理都有啥,该如何设计。 一、什么是权限管理 B端的权限管理是指针对企业内部员工或合作伙伴的权限控制和管理。这包括对员工…

HarmonyOS 应用开发-使用colorPicker实现背景跟随主题颜色转换

介绍 本示例介绍使用image库以及effectKit库中的colorPicker对目标图片进行取色,将获取的颜色作为背景渐变色,通过swiper组件对图片进行轮播, 效果图预览 使用说明 直接进入页面,对图片进行左右滑动,或者等待几秒&a…

YOLOv5标签值含义根据标签将检测框色块替换(马赛克)

以一个检测人脸的图片为例: 检测后生成的标签txt如下, 此时,如何根据标签值将检测到的人脸同色块替换呢? 关键是获取检测框的左上角坐标和右下角坐标。 img Image.open(D:/PythonWokspace/JINX/datasets_transform/dataset/im…

MySQL-7.mysql约束

约束用于确保数据库中的数据满足特定的商业规则。 MySQL约束包含五种:not null、unique、primary key、foreign key、check 7.1 primary key 主键 字段名 字段类型 primary key 用于唯一的标识表的行数据,当定义主键约束后,该列不能重复。 pr…

赛氪网成为中国翻译协会理事单位

环球赛乐(北京)科技有限公司(赛氪网)正式成为中国翻译协会理事单位! 中国翻译协会,简称TAC,自1982年成立以来,始终致力于推动全国翻译事业的发展。作为一个由翻译工作相关的机关、企事业单位、社会团体及个…

第十课 Excel

最上方标题栏: 显示共工作薄名称,如果显示兼容模式是没有办法使用高级功能的。分辨高版本和低版本可以通过后缀名进行分辨;显示xlsx就是高版本工作薄,如果显示xls的话就是低版本工作薄了。如果同事老板都使用的是低版本的话我们发…

单点登录系统设计

一、介绍 token鉴权最佳的实践场景就是在单点登录系统上。 在企业发展初期,使用的后台管理系统还比较少,一个或者两个。 以电商系统为例,在起步阶段,可能只有一个商城下单系统和一个后端管理产品和库存的系统。 随着业务量越来…

openGauss学习笔记-255 openGauss性能调优-使用Plan Hint进行调优-Hint的错误、冲突及告警

文章目录 openGauss学习笔记-255 openGauss性能调优-使用Plan Hint进行调优-Hint的错误、冲突及告警 openGauss学习笔记-255 openGauss性能调优-使用Plan Hint进行调优-Hint的错误、冲突及告警 Plan Hint的结果会体现在计划的变化上,可以通过explain来查看变化。 …

transformer上手(1) —— transformer介绍

1 起源与发展 2017 年 Google 在《Attention Is All You Need》中提出了 Transformer 结构用于序列标注,在翻译任务上超过了之前最优秀的循环神经网络模型;与此同时,Fast AI 在《Universal Language Model Fine-tuning for Text Classificat…

MQ的延迟队列

1,场景 1.定时发布文章 2.秒杀之后,给30分钟时间进行支付,如果30分钟后,没有支付,订单取消。 3.预约餐厅,提前半个小时发短信通知用户。 A -> 13:00 17:00 16:30 延迟时间: 7*30 * 60 * …

【STL】顺序容器与容器适配器

文章目录 1顺序容器概述1.1array1.2forward_list1.3deque 2.如何确定使用哪种顺序容器呢?3.容器适配器的概念4.如何定义适配器呢? 1顺序容器概述 给出以下顺序容器表: 顺序容器类型作用vector可变大小的数组,支持快速访问&#…

Dev-C++详细安装教程及中文设置(附带安装包链接)

博客主页:Duck Bro 博客主页系列专栏:Qt 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍*************安装包链接在文章末尾***************** Dev-C详细安装教程…

指针 运算偏移

思维导图: 题目: 1.变量的指针,其含义是指该变量的 B 。 A)值 B)地址 C)名 D)一个标志 2.已有定义int k2;int *ptr1,*ptr2;且ptr1和ptr2均…

【实用工具】使用飞书机器人监控工程日志

1.创建一个飞书群聊,设置-->群机器人-->添加机器人-->自定义机器人-->修改机器人名称-->添加 2.复制webhook地址 3.编写日志请求代码 import logging import requests import json import os from datetime import datetime import time import sub…

机器-学习

获取数据数据处理特征工程机器学习模型调优 一:机器学习的定义 二:工作流程 三:工作流程解释 pandas numpy matplotlib 四:机器学习算法分类 4.1 监督学习 4.1.2 回归问题 目标值是连续的 4.1.2 分类问题 目标值是离散的 4.2…

软件测试面试真的很水的,不用焦虑

文档获取方式: 这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点击下方小卡片免费获取。