2013-09-24 6 views
2

때때로 내 아파치 SOLR 그냥 아래로 이동하고이 로그 파일에 스팸되고 종료 :아파치 SOLR가 간헐적으로

내 SOLR 설치 전용 서버의 사용 가능한 RAM (16기가바이트)을 많이 가지고에
Sep 24, 2013 1:00:21 AM org.apache.solr.common.SolrException log 
SEVERE: java.lang.OutOfMemoryError: Java heap space 

, 무엇을 이 원인이 될 수 있습니까? 어떤 Google Fu를 사용해 보았지만 그 이유에 대해 확실한 답을 얻지 못했습니다. 또는 -Xmx512mb를 사용하여 해결할 수있는 방법으로 허용되는 힙 크기를 늘리는 것이 가장 이상적인 방법이라고 생각하지 않으십니까? 내가 틀렸을 수도있다.

제 솔트를 설치 한 상태에서 부두를 사용하고 있습니다. 부두에 더 많은 메모리를 사용하도록 알려줄 수있는 방법이 있습니까? 또는 다시 발생하면이 오류를 해결하는 방법을 알려주는 것입니다.

추가 정보 : 큰 Xms 또는 Xmx 값을 설정하면 문제가 발생합니다. 서버에 남아있는 여유 메모리 내에 있어도 문제가 발생합니다. Java Runtime Environment를 계속 실행하려면 메모리가 부족합니다.

# Out of Memory Error (allocation.inline.hpp:58), pid=10851, tid=47145744939328 
# 
# JRE version: 7.0_11-b21 
# Java VM: Java HotSpot(TM) 64-Bit Server VM (23.6-b04 mixed mode linux-amd64 compressed oops) 
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again 
# 

VM Arguments: 
jvm_args: -Dsolr.solr.home=/opt/solr/solr -Xmx64m -Djetty.logs=/var/log/solr -Djetty.home=/root/wmv_solr -Djava.io.tmpdir=/tmp -Xmx256m 
java_command: /root/wmv_solr/start.jar /root/wmv_solr/etc/jetty-logging.xml /root/wmv_solr/etc/jetty.xml 
Launcher Type: SUN_STANDARD 

Environment Variables: 
JAVA_HOME=/usr/java/jdk1.7.0_11 
CLASSPATH=.:/usr/java/jdk1.7.0_11/lib/classes.zip 
PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/java/jdk1.7.0_11/bin:/opt/ant/bin:/usr/local/bin:/usr/X11R6/bin:/root/bin 
SHELL=/bin/bash 

/proc/meminfo: 
MemTotal:  4033216 kB 
MemFree:  755528 kB 
Buffers:  274004 kB 
Cached:  1939244 kB 
SwapCached:  168388 kB 
Active:  1923800 kB 
Inactive:  1052876 kB 
HighTotal:   0 kB 
HighFree:   0 kB 
LowTotal:  4033216 kB 
LowFree:  755528 kB 
SwapTotal:  4980024 kB 
SwapFree:  4784124 kB 
Dirty:   2092 kB 
Writeback:   0 kB 
AnonPages:  762616 kB 
Mapped:   39044 kB 
Slab:   256200 kB 
PageTables:  17496 kB 
NFS_Unstable:  0 kB 
Bounce:    0 kB 
CommitLimit: 6996632 kB 
Committed_AS: 1964148 kB 
VmallocTotal: 34359738367 kB 
VmallocUsed: 265936 kB 
VmallocChunk: 34359471775 kB 
HugePages_Total:  0 
HugePages_Free:  0 
HugePages_Rsvd:  0 
Hugepagesize:  2048 kB 

이 여전히 진행중인 문제이며 우리가 로그에 오류의 새로운 종류 보게되었습니다 :

Oct 02, 2013 7:14:10 AM org.apache.solr.common.SolrException log 
SEVERE: java.lang.OutOfMemoryError: GC overhead limit exceeded 

우리는 이것이 우리 해결할 수 있다고 희망에 우리의 서버 RAM을 업그레이드에서 찾고를 그러나 SOLR이 그렇지 않은 RAM을 사용하지 않는 이유는 설명하지 않습니다. SOLR의 문서 link

메모리 사용에서

답변

1

:

  • 문서의 모든 필드가 동시에 메모리에 적합해야합니다. 입력 XML에
  • 각 개별 ... 태그는 자바 가상 머신 ISN을 '가정의 메모리 예외

    • 이 오류를 싸울 수있는 가장 쉬운 방법에서 해결 메모리

    에 맞아야합니다 이미 실제 메모리를 모두 사용하는 경우 Solr을 실행중인 Java 가상 시스템에 할당 된 메모리 양을 늘리는 것입니다.

    java -Xms512M -Xmx1024M -jar start.jar 
    

재생과 : 당신은 표준 Sun 가상 머신을 실행하는 경우 SOLR 유통/예제에 대해이 작업을 수행하려면, 당신은 -Xms와 -Xmx 명령 줄 매개 변수를 사용할 수 있습니다 값은 입력에 따라 달라집니다.

+0

큰 Xms 또는 Xmx 값을 설정하면 서버에 남은 여유 메모리 내에 있어도 문제가 발생합니다. 계속하려면 Java Runtime Environment 메모리가 부족합니다. –

+0

충분한 메모리가 있다면 32 비트 JVM을 실행할 수 있습니까? –

+0

64 비트 버전을 설치하면 64 비트 버전을 실행할 수 있습니까? 그렇다면 어떻게 확인할 수 있습니까? –

관련 문제