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