我有一个Java程序,通过批处理文件启动,命令行如下:
javaw -Xms64m -Xmx1024m com.acme.MyProgram
然而,在某些计算机上,程序无法启动,并显示以下消息:
"Could not reserve enough space for object heap. Could not create the Java virtual machine."
问题似乎是内存分配池的最大大小超过了计算机的处理能力。将内存分配池的最大大小从1024m减少到512m似乎可以解决问题。
有没有办法提前确定计算机上有多少可用内存(在批处理文件内部),并确定是否在批处理文件调用中使用"-Xmx1024m"或"-Xmx512m"?请注意,此批处理文件仅需要在Windows上运行。