2017-12-06 4 views
1

Ich versuche java -Xmx5g -cp stanford-corenlp-3.8.0.jar:stanford-corenlp-models-3.8.0.jar:* edu.stanford.nlp.pipeline.StanfordCoreNLP -annotators tokenize,ssplit,pos,lemma,ner,parse,mention,coref -coref.algorithm neural -file example_file.txt ausführen, um Erwähnungen der gleichen Entität in einem Text zu finden. Aber wenn ich diesen Befehl im Terminal ausführen, wurde der Prozess abgebrochen und der Fehler in einem Protokoll geschrieben, dass nicht genügend Speicher für Java Runtime Environment, um fortzufahren."nicht genügend Speicher für Java Runtime Environment, um fortzufahren" in Ubuntu-Terminal

ich Ubuntu bin mit mit:

java version "1.8.0_151".

Java(TM) SE Runtime Environment (build 1.8.0_151-b12)

Java Hotspot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)

Als Protokoll ist ziemlich lang und der Körper Frage kann nicht passen die Details des alle log.

Hier ist das Protokoll: error log

[Update] ich den physischen Speicher meiner virtuellen Maschine erhöhen haben. Jetzt bekomme ich diesen Fehler:

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space 
    at java.util.Arrays.copyOf(Arrays.java:3332) 
    at java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:124) 
    at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:649) 
    at java.lang.StringBuilder.append(StringBuilder.java:202) 
    at edu.stanford.nlp.ling.SentenceUtils.listToString(SentenceUtils.java:186) 
    at edu.stanford.nlp.ling.SentenceUtils.listToString(SentenceUtils.java:169) 
    at edu.stanford.nlp.ling.SentenceUtils.listToString(SentenceUtils.java:148) 
    at edu.stanford.nlp.pipeline.ParserAnnotator.doOneSentence(ParserAnnotator.java:360) 
    at edu.stanford.nlp.pipeline.ParserAnnotator.doOneSentence(ParserAnnotator.java:254) 
    at edu.stanford.nlp.pipeline.SentenceAnnotator.annotate(SentenceAnnotator.java:102) 
    at edu.stanford.nlp.pipeline.AnnotationPipeline.annotate(AnnotationPipeline.java:76) 
    at edu.stanford.nlp.pipeline.StanfordCoreNLP.annotate(StanfordCoreNLP.java:599) 
    at edu.stanford.nlp.pipeline.StanfordCoreNLP.annotate(StanfordCoreNLP.java:609) 
    at edu.stanford.nlp.pipeline.StanfordCoreNLP$$Lambda$55/45416784.accept(Unknown Source) 
    at edu.stanford.nlp.pipeline.StanfordCoreNLP.processFiles(StanfordCoreNLP.java:1172) 
    at edu.stanford.nlp.pipeline.StanfordCoreNLP.processFiles(StanfordCoreNLP.java:945) 
    at edu.stanford.nlp.pipeline.StanfordCoreNLP.run(StanfordCoreNLP.java:1274) 
    at edu.stanford.nlp.pipeline.StanfordCoreNLP.main(StanfordCoreNLP.java:1345) 

Gibt es eine Möglichkeit, dieses Problem zu lösen?

+0

'-Xmx' ist Haufen, aber aus den Protokollen scheint es, dass Ihre Anwendung versucht, Speicher zuordnen Off-Heap ('mmap' Fehler) – Eugene

+1

könnte auch dies sein ... https://bugs.openjdk.java.net/browse/JDK-8187709 – Eugene

+0

@Eugene Bedeutung der Befehl Ich ersetze' java -Xmx5g' mit 'java -XX: -UseCompressedOops' und starte es? – user7146946

Antwort

1

Der Fehlerbericht sagt dies:

# There is insufficient memory for the Java Runtime Environment to continue. 
# Native memory allocation (mmap) failed to map 335785984 bytes 
    for committing reserved memory. 
# Possible reasons: 
# The system is out of physical RAM or swap space 
# In 32 bit mode, the process size limit was hit 

Ein solches Zentrum zum Nennwert:

  • Die erste Erklärung bedeutet, dass das Betriebssystem eine Anforderung von der JVM abgelehnt hat, einen großen Teil zuzuteilen von nativem Speicher , da die Ressourcen (physischer Speicher oder Auslagerungsspeicher) nicht verfügbar sind.

  • Sie verwenden eine 64-Bit-JVM, sodass die zweite mögliche Erklärung nicht anwendbar ist.

Die erste Erklärung ist plausibel. Mögliche Fehlerbehebungen könnten sein:

  • fügen Sie mehr physischen Speicher hinzu; z.B. erhalten eine größere oder virtuelle Maschine
  • hinzufügen mehr Swap-Speicher
  • max Heapsize reduzieren über den -Xmx Parameter angegeben
+0

Ich habe versucht, mehr physischen Speicher und ein Fehler aufgetreten ist. Ich habe meine Frage mit dem neuen Fehler aktualisiert – user7146946

+0

Ich versuchte auch, die maximale Größe zu reduzieren und den gleichen neu aktualisierten Fehler – user7146946

+0

Ich versuchte alle drei Fixes, aber alle Fehler aufgetreten ist der neu aktualisierte Fehler in meiner Frage – user7146946

Verwandte Themen