当Jmeter.bat中的堆大小增加时,无法打开Jmeter?

3

我已经为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 . . .

非常感谢,如果有人知道如何解决这个问题,请分享一下?

你尝试过这个建议吗?https://dev59.com/A2855IYBdhLWcg3wViy3? - user7294900
1个回答

1
最可能是由于使用了32位Java运行时,无法分配超过2GB的内存空间。
参考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


我的操作系统是64位的,而Java是32位的。它能支持高达2GB吗? - ChanGan
可能可以分配2GB,但不能保证。只需迁移到64位Java,您就可以为JMeter分配> 4 GB的堆。 - Dmitri T

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接