OutOfMemoryError: Java-Heap-Speicherfehler beim Starten solr

8

Ich indiziere DB-Artikel mit solr, aber nachdem ich ungefähr 58 Millionen Artikel (und ungefähr 113 GB Größe der Platte) hinzugefügt habe, erhalte ich eine Fehlermeldung unter tomcat log error

Hinweis1: Ich habe bereits den Init-Speicherpool auf 256 MB und den Max-Speicherpool auf 1400 MB auf den Tomcat-Server festgelegt.
Anmerkung2: Ich kann Artikel posten oder suchen, muss aber mehr als 3 Minuten warten, um eine Antwort zu erhalten.

%Vor%

Was ist das Problem?

Haben Sie einen Vorschlag?

Wichtige Frage: Warum sollte man Heapspeicher benutzen ???

    
Hamid 08.04.2010, 13:01
quelle

2 Antworten

4
  1. Aktualisieren Sie auf die neueste Version von jdk 6, falls Sie dies noch nicht getan haben. Ich traf ein ähnliches OOME auf jdk 5, das mit 6 wegging. Ich vermute ein nio-Ding.

  2. Versuchen Sie, maxPendingDeletes in Ihrer solrconfig.xml zu verringern.

  3. Um herauszufinden, welche Komponente von solr den gesamten Speicher belegt, starten Sie solr wie folgt:

    java -XX: + HeapDumpOnOutOfMemoryError -XX: HeapDumpPath = some_directory_of_your_choice -jar start.jar

Parsen Sie dann den Heap-Dump mit der eigenständigen MAT von Ссылка und senken Sie den entsprechenden Cache, der all Ihre Inhalte verschlingt Speicher.

    
Alex Nauda 16.04.2010, 22:47
quelle
0

Aktivieren Sie die GC-Protokollierung und zeichnen Sie die Zeitreihen grafisch auf. Dies kann Ihnen die Geschwindigkeit der JVM-Speicherzuweisung und die Höhe der gesammelten Daten mitteilen, wenn Sie überhaupt einen hohen Wasserstand erreichen.

    
Jé Queue 16.04.2010 22:51
quelle

Tags und Links