2017-04-08 2 views
0

Ich habe Jruby auf Rails auf Tomcat in Windows laufen, auch mit Sidekiq zum Ausführen von Hintergrundjobs. Wenn ich versuche, große CSV-Dateien zu importieren, habe ich den gefürchteten Heap-Fehler bekommen.Jruby auf Rails nicht richtig Java-Heap-Parameter abholen

Also habe ich versucht JAVA_OPTS

set JAVA_OPTS = -Xmx8192m -Xms8192m -Xmn4096m

und ich begann zu bekommen Haufen Fehler inkonsistent zu setzen.

Versuchte _JAVA_OPTIONS

set _JAVA_OPTIONS = -Xmx8192m -Xms8192m -Xmn4096m

und es nahm die neue Halde Werte auf; Problem gelöst.

Danach versuchte ich laufen

java -XX: + PrintFlagsFinal -Ausführung | grep HeapSize

$ java -XX:+PrintFlagsFinal -version | grep HeapSize 
    uintx ErgoHeapSizeLimit       = 0    {product} 

    uintx HeapSizePerGCThread      = 87241520  {product} 

    uintx InitialHeapSize       := 805102400  {product} 

    uintx LargePageHeapSizeThreshold    = 134217728  {product} 

    uintx MaxHeapSize        := 4292870144  {product} 

java version "1.7.0_79" 
Java(TM) SE Runtime Environment (build 1.7.0_79-b15) 
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode) 

Warum ist die MaxHeapSize Wert größer als Anfangs wenn ich gesetzt beide als gleich?

Antwort

0

Es sollte

Satz _JAVA_OPTIONS = -Xmx8192m -Xms8192m -Xmn4096m

statt

Satz _JAVA_OPTIONS = -Xmx8192m -Xms8192m -Xmn4096m

sein

Es sollte nicht t ist jeder Platz auf jeder Seite des Gleichheitszeichens.