Rails 上的 Jruby 未正确获取 java 堆参数

Jruby on Rails not picking up java heap parameters properly

我是 运行 Jruby on Rails on Tomcat in windows,还使用 ​​sidekiq 进行 运行 后台作业。当我尝试导入大型 CSV 文件时,出现了可怕的堆错误。

所以我尝试设置 JAVA_OPTS

set JAVA_OPTS = -Xmx8192m -Xms8192m -Xmn4096m

而且我开始不一致地收到堆错误。

尝试过_JAVA_OPTIONS

set _JAVA_OPTIONS = -Xmx8192m -Xms8192m -Xmn4096m

它获取了新的堆值;问题已解决。

之后我尝试了 运行

java -XX:+PrintFlagsFinal -version | 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)

为什么我设置为相同时MaxHeapSize值大于初始值?

应该是

set _JAVA_OPTIONS=-Xmx8192m -Xms8192m -Xmn4096m

而不是

set _JAVA_OPTIONS = -Xmx8192m -Xms8192m -Xmn4096m

等号两边不能有space。