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。
我是 运行 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。