我不是程序员,我只想重新设置文件服务器。
这是正常的,索引过程需要大量内存,所以当我开始索引时,我输入代码-Xmx512m
。但几个小时后,我收到了这些消息:
java.lang.OutOfMemoryError: Java heap space
at org.apache.lucene.util.UnicodeUtil.UTF16toUTF8(UnicodeUtil.java:383)
at org.apache.lucene.store.DataOutput.writeString(DataOutput.java:112)
at org.apache.lucene.index.FieldsWriter.writeField(FieldsWriter.java:212)
at org.apache.lucene.index.StoredFieldsWriterPerThread.addField(StoredFieldsWriterPe
rThread.java:58)
at org.apache.lucene.index.DocFieldProcessorPerThread.processDocument(DocFieldProces
sorPerThread.java:263)
at org.apache.lucene.index.DocumentsWriter.updateDocument(DocumentsWriter.java:766)
at org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:2060)
at org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:2034)
at net.sf.regain.crawler.IndexWriterManager.createNewIndexEntry(IndexWriterManager.j
ava:758)
at net.sf.regain.crawler.IndexWriterManager.addToIndex(IndexWriterManager.java:732)
at net.sf.regain.crawler.Crawler.run(Crawler.java:575)
at net.sf.regain.crawler.Main.main(Main.java:128)
我使用的是jdk 1.8和tomcat7 它运行在具有4GB内存的Windows Server 2016上,但我不认为这个过程需要超过1GB的内存...... 现在我不知道如何解决这个问题...... 有谁知道如何解决这个问题?
答案 0 :(得分:0)
尝试 -Xmx512m 而不是 -Xnx512m
答案 1 :(得分:0)
答案 2 :(得分:-1)
请建议您使用的是哪个版本的Java? 以下是您可以申请的一些解决方案.. - >增加堆和permGem空间(临时修复) - >查找内存泄漏,修复它然后正确的高性能代码。 - >捕获java.lang.OutOfMemoryError并释放所有可能使用大量内存,关闭连接等的资源,然后执行System.gc()。 - >使用JDK 1.8:þ欢迎使用MetaSpace - >解决方案是在启动Tomcat时将这些标志添加到JVM命令行: -XX:+ CMSClassUnloadingEnabled -XX:+ CMSPermGenSweepingEnabled
希望这会对你有所帮助: - )