2013-07-29 44 views
5

我试图为它的java虚拟机永久设置javac堆大小。我已将JAVA_OPTS设置为-Xmx64m,当我拨打java而不是javac时,该功能非常有用。我仍然遇到堆大小问题。是否有一个不同的变量,我可以在我的.bashrc中设置为永久更改?javac为Java永久设置默认堆大小

当我运行javac -J-Xmx64m它很好。所以我只需要一种方法来使-J-Xmx64m选项永久。

仅供参考 - 我运行Ubuntu 11.10与OpenJDK的1.7

+4

我相信你可以在这里找到你的解决方案...... http://stackoverflow.com/questions/104115/how -do-you-increase-the-maximum-heap-size-for-the-javac-process-in-borland-jbuil –

+0

设置JAVA_TOOL_OPTIONS正如该链接中提到的那样。我设法让它至少认识到选项已经设定。但是现在突然之间,我仍然遇到堆问题,即使它在我以前设置时也能正常工作。 –

回答

2

如果你正在使用Ubuntu和OpenJDK 7的,对于一个64位的过程中,默认的应该是主存储器的1/4。除非你的内存小于256MB,否则默认值将是64MB。

我建议你

  • 有64位JVM默认为一个更大的尺寸。
  • 有足够的内存,理想情况下16-64 GB的新机器。
+0

我不能那样做。我在一个非常低端的VPS 220MB的RAM上。我意识到我有点在推动界限。但我希望我可以至少跑步。它不会做任何繁重的工作。 –

+1

@ChrisKdon您可以在任何地方编译代码,即使在PC上也是如此。 (这是Java的一个关键特性) –

+2

这是一个很好的观点。我希望能够在一台机器上做到这一切。但我可以选择这个选项。最终,它将用于Grails,我认为它需要javac编译器,因为它在开发模式下可以即时重新编译文件。 –

4

非常务实的解决方案(假设你使用bash):

# find out where javac lives, and note the path 
$ which javac 
/path/to/javac 
$ vi ~/.bash_aliases 
alias javac='/path/to/javac -J-Xmx64m' 
+0

怎么“一点点”。 〜/ .bash_aliases'? :) –

+0

还是必要的? –