在Launch4j中设置Java堆大小无法正常工作

在Launch4j中设置Java堆大小无法正常工作,java,memory,launch4j,Java,Memory,Launch4j,当为一个需要(比如)大约3 GB的程序设置堆大小时,您可以通过在命令行中添加-Xmx8g来设置最大堆大小,在这种情况下为8 GB。在我的程序中,这实际上可以很好地处理JAR 现在,我尝试使用Launch4j创建一个EXE文件,并将“初始堆大小”和“最大堆大小”选项的值设置为8000 MB 然而,这并没有给我上面描述的方法(使用罐子)得到的相同结果。在大约1000 MB的某个点(运行我的程序时),它只是停止,不再分配更多内存 在Launch4j中的“heap size”选项中不填充任何内容时,该限

当为一个需要(比如)大约3 GB的程序设置堆大小时,您可以通过在命令行中添加
-Xmx8g
来设置最大堆大小,在这种情况下为8 GB。在我的程序中,这实际上可以很好地处理JAR

现在,我尝试使用Launch4j创建一个EXE文件,并将“初始堆大小”和“最大堆大小”选项的值设置为8000 MB

然而,这并没有给我上面描述的方法(使用罐子)得到的相同结果。在大约1000 MB的某个点(运行我的程序时),它只是停止,不再分配更多内存

在Launch4j中的“heap size”选项中不填充任何内容时,该限制等于运行JAR文件时将
-Xmx8g
选项添加到命令行时产生的限制(两者都仅在300 MB左右停止)。这意味着在Launch4j中设置堆大小实际上可以做一些事情,但不能使堆达到应有的大小


为什么Launch4j堆大小选项不能正常工作,并且它是否有可能实际工作?

参数-Xms和-Xmx是否添加到您的程序中?您所说的“添加到我的程序中”是什么意思?启动JAR文件时,我将这些参数添加到命令行。在启动4J时,我只是使用UI设置参数。我的意思是,当您运行程序时,这些参数是否显示在相应java pid的VM参数中?感谢您的帮助,这些参数都很好;我现在发现问题在于我使用的是32位JRE而不是64位JRE,并将Launch4j绑定路径设置为32位JRE。这会导致内存量很小。参数-Xms和-Xmx添加到您的程序中了吗?您所说的“添加到我的程序中”是什么意思?启动JAR文件时,我将这些参数添加到命令行。在启动4J时,我只是使用UI设置参数。我的意思是,当您运行程序时,这些参数是否显示在相应java pid的VM参数中?感谢您的帮助,这些参数都很好;我现在发现问题在于我使用的是32位JRE而不是64位JRE,并将Launch4j绑定路径设置为32位JRE。这导致内存量很小。