news 2026/4/16 10:56:26

Jmeter 性能-内存溢出问题定位分析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Jmeter 性能-内存溢出问题定位分析

1、堆内存溢出

①稳定性压测一段时间后,Jmeter报错,日志报:

java.lang.OutOfMemoryError.Java heap space

②用jmap -histo pid命令dump堆内存使用情况,查看堆内存排名前20个对象。

看是否有自己应用程序的方法,从最高的查起,如果有则检查该方法是什么原因造成堆内存溢出。

③如果前20里没有自己的方法,则用jmap -dump来dump堆内存,再用MAT分析dump下来的堆内存,分析导出内存溢出的方法。

④如果应用程序的方法没有问题,则需要修改JVM参数,修改xms,xmx,调整堆内存参数,一般是增加堆内存。

2、栈内存溢出

①稳定性压测一段时间后,Jmeter报错,日志报:

Java.Lang.StackOverflowError

②修改jvm参数,将xss参数改大,增加栈内存。

③栈溢出一定是做批量操作引起的,减少批处理数据量。

3、持久代溢出

①稳定性压测一定时间后,日志报:

Java.Lang.OutOfMemoryError.PermGen Space

②这种原因是由于类、方法描述、字段描述、常量池、访问修饰符等一些静态变量太多,将持久代占满导致持久代溢出。

③修改jvm配置,将XX:MaxPermSize=256参数调大。尽量减少静态变量。

4、线程死锁

①容量测试压测一段时间后,报连接超时。

②造成这种现象的原因很多,比如带宽不够,中间件线程池不够用,数据库连接池不够,连接数占满等都会造成连接不上而报超时错误。

③jstack命令dump线程栈,搜索线程栈里有没有block,如果有的话就是线程死锁,找到死锁的线程,分析对应的代码。

5、数据库死锁

①容量测试压测一段时间后,报连接超时。

②造成这种现象的原因很多,比如带宽不够,中间件线程池不够用,数据库连接池不够,连接数占满等都会造成连接不上而报超时错误。

③数据库日志中搜索block,能搜到block的话就是存在数据库死锁,找到日志,查看对应的sql,优化造成死锁的sql。

最后作为一位过来人也是希望大家少走一些弯路,在这里我给大家分享一些软件测试的学习资料和我花了3个月整理的软件测试自学全栈,这些资料希望能给你前进的路上带来帮助。

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 10:39:08

Scispacy终极指南:科学文本处理完整教程

Scispacy终极指南:科学文本处理完整教程 【免费下载链接】scispacy allenai/scispacy: Scispacy 是一个用于自然语言处理的 Python 库,提供了针对科学领域文本的文本处理和分析功能,可以用于文本挖掘,信息提取和知识图谱构建等任务…

作者头像 李华
网站建设 2026/4/16 10:40:59

终极指南:如何快速构建高性能异步Redis客户端

终极指南:如何快速构建高性能异步Redis客户端 【免费下载链接】aioredis-py asyncio (PEP 3156) Redis support 项目地址: https://gitcode.com/gh_mirrors/ai/aioredis-py 在当今高并发的应用场景中,异步编程已经成为提升应用性能的关键技术。ai…

作者头像 李华
网站建设 2026/4/16 0:26:56

c语言——链表

一、顺序表 #include<stdio.h> #include<stdlib.h> #include<errno.h> #pragma once //防止头文件被多次包含 #define N 100 typedef int SLDataType;//静态顺序表 typedef struct SeqList {int* a;int size;//表示数组中存储了多少个数据int capacity;//数…

作者头像 李华
网站建设 2026/4/16 0:13:17

NAT应用

背景IDC机房的公网ip如果想映射到局域网的机器或者使用端口映射功能可以使用Nat转换静态NAT&#xff08;一对一映射&#xff09;映射所有端口NAT Server&#xff08;端口映射&#xff09;如果只想映射特定端口&#xff0c;而不是所有流量Easy IP&#xff08;如果只有一个公网IP…

作者头像 李华
网站建设 2026/4/3 11:58:36

河道防洪防汛监测设备的技术体系与实践应用

一&#xff0e;前言汛期来临之际&#xff0c;河道水位暴涨、暴雨突袭等突发情况直接威胁人民生命财产安全&#xff0c;水位、流量、雨量监测设备作为防洪防汛的“科技哨兵”&#xff0c;凭借精准的数据支撑为灾害预警与调度决策筑牢第一道防线。二&#xff0e;监测设备水位监测…

作者头像 李华
网站建设 2026/4/14 21:35:44

人类反馈强化学习(RLHF) 从强化学习架构到监督微调

人类反馈强化学习&#xff08;RLHF&#xff09; 从架构到监督微调 关于强化学习&#xff08;reinforcement learning from human feedback&#xff09;架构、演员-评论家架构、近端策略优化&#xff08;PPO&#xff09;及DeepSpeed Chat的RLHF三阶段训练流程&#xff0c;并附代…

作者头像 李华