news 2026/7/7 21:02:39

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/7/7 0:44:21

什么是设计模式?为什么 Python 也需要设计模式

在软件开发中,我们常听到“设计模式”这个概念。很多初学者会觉得这是 Java 或 C 的专属知识,但实际上,Python 开发者同样需要理解和应用设计模式。本文将带你快速理解设计模式的核心思想以及 Python 中的价值。一、设计模式是什么 设计模式&…

作者头像 李华
网站建设 2026/7/7 9:17:41

【VSCode Azure QDK调试全攻略】:掌握量子程序调试的5大核心技巧

第一章:VSCode Azure QDK调试全攻略导论量子计算作为下一代计算范式的前沿领域,正逐步从理论研究走向工程实践。在开发量子算法与应用的过程中,高效的调试工具链至关重要。Visual Studio Code(VSCode)结合Azure Quantu…

作者头像 李华
网站建设 2026/7/7 15:55:11

Everything 1.5 绿色单文件版!2.74MB 高速搜文件

文件太多找不到?这款宝藏搜索工具必须安利给你。 Everything 1.5 虽为 Alpha 版(官网正式版为 1.4),但绿色单文件版的体验已经足够能打。 下载地址:https://pan.quark.cn/s/bf04b6287e4f 备用地址:https…

作者头像 李华
网站建设 2026/7/7 15:39:16

大功率LED工矿灯推荐?

“当你还停留在‘功率越高越亮’的认知里,你的采购可能已经走上了一条费电又费钱的老路。”——LED工矿灯老炮三哥在无数次与工厂老板、采购经理的交流中发现,对于大功率LED工矿灯的挑选,很多人的思维定式是最大的隐形障碍。在工矿照明领域&a…

作者头像 李华
网站建设 2026/7/7 8:43:15

计算机毕业设计springboot混合式学习系统 基于SpringBoot的线上线下融合教学平台设计与实现 SpringBoot+MySQL构建的混合教学互动系统

计算机毕业设计springboot混合式学习系统83r516hg (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。 进入二十一世纪,高速网络与云计算让知识获取不再受限于教室。疫情…

作者头像 李华