news 2026/2/12 7:50:07

jmeter java.lang.OutOfMemoryError: Java heap space 修改内存大小,指定自己的JDK

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
jmeter java.lang.OutOfMemoryError: Java heap space 修改内存大小,指定自己的JDK

一、jmeter 修改内存大小

jmeter运行一般可以双击jmeter.bat打开图形化界面进行创建、修改、删除、管理、运行配置,但一般比较好的做法是使用命令行的方式,因为不会有图形化带来的损耗影响到压测结果。比如使用,比如:
jmeter.bat -n -t C:\DevFolder\software\apache-jmeter-5.6.3\bin\test\test.jmx -l C:\DevFolder\software\apache-jmeter-5.6.3\bin\test\result.jtl -e -o C:\DevFolder\software\apache-jmeter-5.6.3\bin\test\test_report

有时运行过程会如下错误:java.lang.OutOfMemoryError: Java heap space

此时就需要修改内存配置,即-Xms -Xmx之类的

打开 jmeter.bat,找到如下:

set HEAP=-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m

按需修改成合适的值,比如:

set HEAP=-Xms4g -Xmx4g -XX:MaxMetaspaceSize=512m

实践有用。

二、有时候可能出现无法配置这么大的堆内存的问题

这种概率很小,Invalid maximum heap size: -Xmx4g

这个原因是因为 java.exe 可能是32位的,32位最多索引4g内存,但因为java作为系统中的软件,实际远达不到4g,所以问题就是32位的虚拟机无法配置成这个值(使用 java -verion 如果没输出 64 Bit 信息就是32位的)。

这大概是因为默认的 java.exe 是自己安装在windows系统的才这么低,大概是因为安装某些软件而这些软件又需要JRE环境所以自动就装了个JRE,比如说Oracle的图形化工具SQL Developer就是java语言写的,下面这些乱七八糟的java.exe的目录可能是它带进来的,也可能是windows自己带的,总之很老:

使用where java查看机子上的 java.exe

最前面那个是优先级最高、如果直接使用不完整路径访问的时候就是它生效,它是32位的,并且进一步可以看到前面2个路径的 java.exe 都没有输出 64 Bit 的信息,证明其实都是 32 位的,都是一些奇怪的地方引入的JRE

如何指定自己的JDK

方法一:环境变量中把自己安装的JDK置顶即可,即让 where java 的时候自己的 java.exe 的路径排在最前面
(有时候没那么容易实现,可能会因为权限限制无法修改系统级别的环境变量,而系统级别环境变量总是排在用户级别环境变量前面)

方法二:
在 JMETER_HOME 的 bin 目录下新建 setenv.bat 文件,文件内容如下,按情况修改:

@echo off set "JAVA_HOME=C:\Program Files\AzulJava\zulu-jdk17.46.20" set "PATH=%JAVA_HOME%\bin;%PATH%"

这个文件会自动地、无侵入地被 jmeter.bat 引入

此时在 jmeter.bat 中修改的set HEAP=-Xms4g -Xmx4g -XX:MaxMetaspaceSize=512m就会因为jdk是64位的了从而可以执行

jmeter.bat -n -t C:\DevFolder\software\apache-jmeter-5.6.3\bin\test\test.jmx -l C:\DevFolder\software\apache-jmeter-5.6.3\bin\test\result.jtl -e -o C:\DevFolder\software\apache-jmeter-5.6.3\bin\test\test_report

其他补充

补充1

jmeter.bat -n -t C:\DevFolder\software\apache-jmeter-5.6.3\bin\test\test.jmx -l C:\DevFolder\software\apache-jmeter-5.6.3\bin\test\result.jtl -e -o C:\DevFolder\software\apache-jmeter-5.6.3\bin\test\test_report

这个命令的输入是 jmx 文件,即压测的配置文件,jtl 是报告的原始数据文件,命令中 test_report 这个目录下会在运行结束后生成 index.html 以及一些别的文件,打开后是一个网页的方式呈现报告的一个报告

  • jtl: Meter Test Log(或 JMeter Test Results Log),是 JMeter 默认的测试结果原始数据文件
  • Meter HTML Dashboard Report(带 index.html 的报告):图形化可视化报告

补充2

你的 jmeter 一般来说是绿色软件,解压后,一般也要配置 JMETER_HOME 环境变量,并把 %JMETER_HOME%\bin 加入到 Path 中,这样可以在任何地方运行 jmeter.bat,而且约定俗称的环境变量名JMETER_HOME可能会被哪个脚本引用

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

用最简单的方式讲解小波变换核心概念,配合生动比喻和可视化示例,最后用不到10行代码完成第一个小波变换程序,适合数学基础薄弱的初学者。

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个面向初学者的交互式小波变换学习工具,要求:1. 用滑块控制展示不同尺度/位移的小波函数;2. 可视化信号分解过程;3. 提供正弦…

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

从PowerDesigner迁移实战:电商系统数据库设计案例

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个电商系统数据库设计案例演示应用。功能包括:1.商品分类管理(三级分类) 2.用户权限分级(买家/卖家/管理员) 3.订单状态流转 4.支付记录跟踪 5.物流信息管理。要…

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

AnimeGANv2人脸优化原理揭秘:如何避免五官变形?

AnimeGANv2人脸优化原理揭秘:如何避免五官变形? 1. 技术背景与问题提出 随着深度学习技术的发展,风格迁移(Style Transfer)已成为图像处理领域的重要应用方向。其中,将真实人像转换为二次元动漫风格的需求…

作者头像 李华
网站建设 2026/2/7 6:18:35

5分钟验证:Ubuntu搜狗输入法快速安装原型

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 请生成一个最小化的Ubuntu搜狗输入法安装验证原型。要求:1.只包含核心安装步骤 2.能在5分钟内完成验证 3.输出明确的成功/失败状态 4.占用系统资源最少 5.可扩展为完整…

作者头像 李华
网站建设 2026/1/30 17:21:48

用AI快速测试魔兽宏创意:10秒验证你的战术想法

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个宏命令沙盒环境:1)输入宏创意描述(如被攻击时自动闪现冰箱)2)AI即时生成可执行代码 3)3D角色模拟器展示效果 4)参数调整滑块&#xff0…

作者头像 李华
网站建设 2026/2/6 21:46:20

AnimeGANv2能否自定义风格?微调训练部署全流程

AnimeGANv2能否自定义风格?微调训练部署全流程 1. 引言:AI 二次元转换器 - AnimeGANv2 随着深度学习在图像生成领域的持续突破,AnimeGANv2 成为近年来最受欢迎的轻量级照片转动漫模型之一。它基于生成对抗网络(GAN)架…

作者头像 李华