news 2026/9/3 4:53:31

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/9/2 3:56:02

浙江某酒店+RWA深度解读:3天5000万升级,入住率从68%到82%的转型之路

浙江一家拥有250间客房的中高端酒店,近期完成了一项创新的资金安排——3天内完成了5000万元的资金规划,用于全面升级智能化系统。他们采用的既不是传统银行贷款,也不是股权合作,而是一种相对新颖的方式:将未来部分客房…

作者头像 李华
网站建设 2026/9/3 3:04:09

独家披露:顶尖量子实验室使用的VSCode连接配置模板(限时公开)

第一章:VSCode 的量子硬件连接配置在现代量子计算开发中,Visual Studio Code(VSCode)已成为主流集成开发环境之一。通过扩展插件和底层API的集成,开发者能够直接从本地编辑器连接到真实的量子硬件设备,实现…

作者头像 李华
网站建设 2026/9/2 4:25:10

AI核心知识47——大语言模型之Data Cleaning(简洁且通俗易懂版)

数据清洗 (Data Cleaning),在大语言模型(LLM)的开发流程中,属于预训练之前的准备工作。如果说预训练是 AI 的“正餐”,那么数据清洗就是“备菜”——把买回来的菜里的烂叶子摘掉、泥土洗净、切好分类,确保 …

作者头像 李华
网站建设 2026/9/2 16:21:41

PMBOK第七版完整学习指南:免费获取中英文PDF资源

PMBOK第七版完整学习指南:免费获取中英文PDF资源 【免费下载链接】PMBOK第七版电子书资源 本仓库提供PMBOK(项目管理知识体系指南)第七版的英文版和中文版PDF电子书,以及详细的目录,方便用户快速查找和学习。新考纲主要…

作者头像 李华
网站建设 2026/9/2 20:36:23

终极指南:企业级AI网关的完整部署与实战应用

终极指南:企业级AI网关的完整部署与实战应用 【免费下载链接】litellm Call all LLM APIs using the OpenAI format. Use Bedrock, Azure, OpenAI, Cohere, Anthropic, Ollama, Sagemaker, HuggingFace, Replicate (100 LLMs) 项目地址: https://gitcode.com/GitH…

作者头像 李华
网站建设 2026/9/2 22:08:59

破茧与重生:AI 编程时代,程序员该何去何从?

我们从国内外开发者社区的真实讨论出发,看看这场 AI 编程革命,究竟正在怎样改变程序员的命运,以及我们如何抓住未来的方向。你还记得,你第一次敲下 Hello World 的那一刻吗?屏幕上那行简简单单的文字,像一扇…

作者头像 李华