Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当Jmeter.bat中的堆大小增加时,无法打开Jmeter?_Java_Jmeter - Fatal编程技术网

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

Java 当Jmeter.bat中的堆大小增加时,无法打开Jmeter?,java,jmeter,Java,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 th

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

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

很可能是因为使用了32位Java运行时,它不能分配超过2GB的内存

调查

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

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

您可以尝试以下操作:

  • 将堆大小减少到1536MB

  • Java-尽可能使用


  • 你试过这些建议了吗?我的OS:64位和Java:32位。它将支持高达2GB的容量吗?它可能能够分配2GB的容量,但不能保证。只需迁移到64位Java,就可以将>4GB的堆分配给JMeter