2013-07-29 8 views
5

Ich versuche, die javac Heap-Größe für seine java vm dauerhaft einzustellen. Ich habe meine JAVA_OPTS auf -Xmx64m eingestellt, die funktioniert, wenn ich java anrufen, aber nicht javac. Ich bekomme immer noch Probleme mit der Größe des Heapspeichers. Gibt es eine andere Variable, die ich in meinem .bashrc festlegen kann, um dauerhaft zu ändern?javac Standard-Heap-Größe für Java fest eingestellt

Wenn ich javac -J-Xmx64m laufen, funktioniert es gut. Also brauche ich nur einen Weg, um diese -J-Xmx64m Option dauerhaft zu machen.

FYI - ich Ubuntu 11.10 mit OpenJDK 1.7

+4

Ich glaube, Sie Ihre Lösung finden Sie hier ... http://stackoverflow.com/questions/104115/how -do-du-erhöhst-die-maximale-Heap-Größe-für-den-javac-Prozess-in-borland-jbuil –

+0

Einstellung JAVA_TOOL_OPTIONS wie in diesem Link erwähnt hat irgendwie funktioniert. Ich habe es geschafft, zumindest zu erkennen, dass die Option gesetzt wurde. Aber jetzt bekomme ich immer noch Probleme mit dem Heap, obwohl es funktionierte, als ich es vorher eingestellt habe. –

Antwort

2

laufen Wenn Sie Ubuntu und OpenJDK 7 verwenden, ist der Standard für eine 64-Bit-Prozess sollte 1/4 des Hauptspeichers sein. Wenn Sie nicht über einen winzigen Speicher von weniger als 256 MB verfügen, ist der Standardwert auf jeden Fall 64 MB.

Ich schlage vor, Sie

  • haben die 64-Bit-JVM welche standardmäßig auf eine größere Größe.
  • haben viel Speicher, idealerweise 16-64 GB für eine neue Maschine.
+0

Ich kann das nicht tun. Ich bin auf einem sehr niedrigen Ende VPS 220 MB RAM. Mir ist klar, dass ich die Grenzen sprenge. Aber ich hoffe, ich kann es zumindest schaffen. Es wird keine schwere Arbeit machen. –

+1

@ChrisKdon Sie können den Code überall, auch auf einem PC, kompilieren. (Dies ist eine Schlüsselfunktion von Java) –

+2

Das ist ein guter Punkt. Ich hatte gehofft, alles auf einer Maschine machen zu können. Aber ich kann mit dieser Option gehen. Letztendlich wird es mit Grails verwendet werden, von denen ich dachte, dass sie den javac-Compiler benötigen würden, da sie im Entwicklungsmodus Dateien im laufenden Betrieb neu kompiliert. –

4

Sehr pragmatische Lösung (vorausgesetzt, Sie bash verwenden):

# 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

wie 'ein bisschen'. ~/.bash_aliases'? :) –

+0

oder ist es notwendig? –