웹 페이지에서 선택한 텍스트의 명사를 추출하고 텍스트가 표시되면이를 강조하고 싶습니다. 따라서 OpenNLP 라이브러리를 사용하여 구문 분석 및 목록을 가져옵니다. 명사의. 이 출력을 표시하기 전에 6~7초했다하지만 그것은 메모리 문제없이 자바 클래스에서 잘 실행하지만 JSP 페이지의 코드를 실행할 때, 나는이 오류가있어 :javax.servlet.ServletException : java.lang.OutOfMemoryError : 자바 힙 공간
javax.servlet.ServletException: java.lang.OutOfMemoryError: Java heap space
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:909)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:838)
org.apache.jsp.highlightText_jsp._jspService(highlightText_jsp.java:294)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:438)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
근본 원인
java.lang.OutOfMemoryError: Java heap space
opennlp.model.AbstractModelReader.getParameters(AbstractModelReader.java:144)
opennlp.maxent.io.GISModelReader.constructModel(GISModelReader.java:75)
opennlp.model.GenericModelReader.constructModel(GenericModelReader.java:59)
opennlp.model.AbstractModelReader.getModel(AbstractModelReader.java:87)
opennlp.tools.util.model.GenericModelSerializer.create(GenericModelSerializer.java:35)
opennlp.tools.util.model.GenericModelSerializer.create(GenericModelSerializer.java:31)
opennlp.tools.util.model.BaseModel.loadModel(BaseModel.java:231)
opennlp.tools.util.model.BaseModel.<init>(BaseModel.java:181)
opennlp.tools.postag.POSModel.<init>(POSModel.java:82)
opennlp.tools.parser.ParserModel$POSModelSerializer.create(ParserModel.java:49)
opennlp.tools.parser.ParserModel$POSModelSerializer.create(ParserModel.java:45)
opennlp.tools.util.model.BaseModel.finishLoadingArtifacts(BaseModel.java:303)
opennlp.tools.util.model.BaseModel.loadModel(BaseModel.java:240)
opennlp.tools.util.model.BaseModel.<init>(BaseModel.java:181)
opennlp.tools.parser.ParserModel.<init>(ParserModel.java:152)
model.parser.parserAction(parser.java:59)
org.apache.jsp.highlightText_jsp._jspService(highlightText_jsp.java:143)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:438)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
을
set CATALINA_OPTS=-Xms256m -Xmx512m
그래서 난 -Xmx2g로 설정하지만 여전히 같은 오류를 제공합니다 : 내가 읽은
일부 솔루션은이 작업을 수행하여 아파치 톰캣의 힙 메모리의 크기를 증가하는 것이 좋습니다. 나는 JVM 힙 크기 (Netbeans> Properties> Run> VM Options> -Xmx에서 프로젝트를 마우스 오른쪽 단추로 클릭)를 수정해야한다고 생각하지 않지만 시도해 보았지만 성공하지 못했습니다.
전에이 오류가 발생하지 않았으므로 어떻게해야하는지 잘 모릅니다. 감사합니다, 감사합니다.
코드를 프로파일 링하고 생성 된 객체와 최대 메모리, 메모리 누수 가능성 등을 확인 했습니까? 귀하의 오라클 JDK는 당신을 시작할 수있는 VisualVM과 함께 제공됩니다. – anacron
이 방법으로 NetBeans 힙 공간은 증가하지만 Tomcat 힙 공간은 증가하지 않습니다. jconsole 또는 visualvm을 사용하여 tomcat에 연결하고 힙이있는 메모리의 수를 확인하십시오. – malaguna