2013-01-31 75 views
4

我可以通过设置VM参数为-Xmx1024m -Xms256M来通过eclipse运行java程序。现在我想通过Windows中的.bat文件运行相同的java程序(jar)。我在文件中如下无法通过.bat文件设置jvm参数/参数(Xmx和Xms)

@echo off 
set JAVA_OPTS="-Xmx1024m -Xms256m -XX:+HeapDumpOnOutOfMemoryError" 
java -cp TA.jar com.myClass 

设置JVM值但当我通过批量运行同一程序(在Windows XP蝙蝠),它抛出内存不足的错误,我怀疑JVM通过设置。 bat文件不起作用。

有人可以帮忙吗?

+0

您是否试过简单地传递选项而不是设置环境变量? –

+0

@迈克尔迈尔斯我不明白你的意思..对不起.. –

+2

我的意思是'java -Xmx1024m -Xms256m -XX:+ HeapDumpOnOutOfMemoryError -cp TA.jar com.myClass'而不是搞砸JAVA_OPTS –

回答

2

使用参数直接

java -Xmx1024m -Xms256m -XX:+HeapDumpOnOutOfMemoryError -cp TA.jar com.myClass 

你不需要在JAVA_OPTIONS进行设置。要确保您的应用程序使用您想要的参数:

  • open jvisualvm随附java。只需在命令行键入“jvisualvm”,如果你已经在你的路径上正确设置了java。
  • 打开虚拟机启动到您的应用程序。
  • 检查“Overview”选项卡中的“JVM参数”。

应该设置您的jvm选项。

+0

我必须通过一些输入参数作为参数从命令提示符。所以实际上我的bat文件是java -cp TA.jar com.myClass%1%2。在这种情况下,我应该按照您的方法放置JVM参数。 –

+0

你可以在-cp之前设置它。编辑答案。 –

+0

谢谢..它现在的作品... –

11

它应该是_JAVA_OPTIONS而不是JAVA_OPTS。

+1

谢谢Danyel ..它的工作..我用:设置_JAVA_OPTIONS = -Xmx1024m -Xms256m -XX:+ HeapDumpOnOutOfMemoryError –

+0

这应该是真正的答案 – user2426679