2017-04-08 19 views
0

Windows에서 Tomcat의 Jruby on Rails를 실행 중이며 백그라운드 작업을 실행하는 데 sidekiq를 사용하고 있습니다. 큰 CSV 파일을 가져 오려고하면 두려운 힙 오류가 발생합니다. Jruby on Rails가 제대로 Java 힙 매개 변수를 선택하지 않습니다.

그래서 나는 JAVA_OPTS

세트 JAVA_OPTS = -Xmx8192m -Xms8192m -Xmn4096m

설정을 시도하고 나는 일관성 힙 에러가 발생하기 시작했다.

시도 _JAVA_OPTIONS

세트 _JAVA_OPTIONS = -Xmx8192m -Xms8192m -Xmn4096m

하고 새로운 힙 값 태웠다; 문제 해결됨. | + PrintFlagsFinal -version :

이후 나는 -XX

자바를 실행 시도 그렙 힙 크기

$ 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의 큰 값이다?

답변

0

이 있어야

세트 _JAVA_OPTIONS = -Xmx8192m -Xms8192m -Xmn4096m

대신

세트 _JAVA_OPTIONS = -Xmx8192m -Xms8192m -Xmn4096m

등호의 양쪽에있는 어떤 공간이라해도 무방하다.