首页 > 解决方案 > 当 Jmeter.bat 中的堆大小增加时无法打开 Jmeter?

问题描述

我为 Java 设置了堆大小:

Control Panel --> Java (Control panel) --> Java --> View 

将用户属性更新为 - Xmx4096m(我的机器 RAM 为 8 GB)

在控制面板中更改堆大小后,我将 Jmeter.bat 中的堆大小更改为 2048MB。

set HEAP=-Xms2048m -Xmx2048m

if not defined HEAP (
    rem See the unix startup file for the rationale of the following parameters,
    rem including some tuning recommendations
    set HEAP=-Xms512m -Xms512m -XX:MaxMetaspaceSize=512m
)

现在我正在尝试打开 Jmeter.bat 并收到以下错误

Error occurred during initialization of VM
Could not reserve enough space for 2097152KB object heap
errorlevel=1
Press any key to continue . . .

非常感谢,如果有人知道如何解决这个问题?

标签: javajmeter

解决方案


这很可能是由于使用了不能分配超过 2 GB 的 32 位 Java 运行时。

查看有关 Java HotSpot VM 的常见问题

为什么我不能使用 32 位 JVM 获得更大的堆?

32 位 JVM 的最大理论堆限制为 4G。由于各种额外的限制,例如可用交换、内核地址空间使用、内存碎片和 VM 开销,实际上限制可以低得多。在大多数现代 32 位 Windows 系统上,最大堆大小范围为 1.4G 到 1.6G

您可以尝试以下方法:

  1. 将堆大小减小到 1536 MB

  2. 根据JMeter 负载测试“内存不足”失败的 9 个简单解决方案

    Java -尽可能使用最新的 64 位版本的 Java SE JDK 或 Server JRE


推荐阅读