2017-03-23 1 views
1

저는 프로그래머가 아니므로 다시 사용할 수있는 문서 서버 만 설치하려고합니다. 색인 생성 프로세스가 많은 메모리를 필요로하므로 인덱싱을 시작할 때 -Xmx512m 코드를 입력하십시오. 그러나 일부 시간 후, 나는이 메시지를 가지고 : 나는 4GB의 메모리와 윈도우 서버 2016에서 실행 JDK 1.8 그 tomcat7을 사용하고Java 힙 공간 오류

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) 

을,하지만 난이 과정이 1 GB 이상이 필요하다고 생각하지 말아 메모리 ... 지금이 문제를 해결하는 방법을 모르겠다 ... 누구든지이 문제를 해결하는 방법을 알고 있습니까?

+0

코드를 편집하거나 볼 방법이 없다면, 힙 공간을 늘리십시오. 이미 할 수있는 방법에 대한 답변이 있습니다. http://stackoverflow.com/ a/1566026/3858121 –

+0

-Xmx1024m -XX : MaxPermSize = 256m이 행을 Eclipse 구성의 Vm Arguments에 추가하십시오. –

+0

이 질문은 [도움말] 지침에 정의 된 프로그래밍 질문이 아니기 때문에 주제를 벗어난 것으로 끝내기로했습니다. –

답변

0

-Xmx512m 대신 힙의 최대 크기를 설정 -Xmx-Xnx512m

+0

으로 증가시킬 수 있습니다. 아,이 타이핑 실수로 인해서 소리 쳤습니다. -XmX512m하지만 시도했습니다! –

-1

사용중인 자바의 버전을 제안하세요? 다음은 적용 할 수있는 몇 가지 솔루션입니다. -> 힙 및 permGem 공간 늘리기 (임시 수정) -> 메모리 누수를 찾아 수정 한 후 고성능 코드를 수정하십시오. -> java.lang.OutOfMemoryError를 포착하고 많은 메모리를 사용하고 연결을 닫을 수있는 모든 리소스를 해제 한 다음 System.gc()를 수행합니다. 에게 -XX이 : +에게 CMSClassUnloadingEnabled는 -XX :에게 + CMSPermGenSweepingEnabled

희망이 도움이 될 것입니다 Tomcat이 시작될 때> 솔루션 JVM 명령 줄에 이러한 플래그를 추가하는 것이 었습니다 - 가 MetaSpace에 오신 것을 환영합니다 일 - 은> JDK 1.8를 사용 당신은 :-)

+0

자바 버전 "1.8.0_121" 나는 해결책을 시험해 보겠습니다! –

+0

@Florian Keller 왜 downvote –

+0

내가 downvote을하지 않았을 때, 나는 메시지가 upvote를 누르십시오 때마다 "의견을 주셔서 감사합니다! 명성이 15 명 미만인 사람들의 투표는 기록되지만 공개적으로 변경하지 마십시오 게시물 점수 " –