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?
'-Xmx' ist Haufen, aber aus den Protokollen scheint es, dass Ihre Anwendung versucht, Speicher zuordnen Off-Heap ('mmap' Fehler) – Eugene
könnte auch dies sein ... https://bugs.openjdk.java.net/browse/JDK-8187709 – Eugene
@Eugene Bedeutung der Befehl Ich ersetze' java -Xmx5g' mit 'java -XX: -UseCompressedOops' und starte es? – user7146946