Tôi đang làm một bài kiểm tra tải cho ứng dụng Solr của tôi. Chỉ số này có hơn 200 triệu tài liệu. Tôi sử dụng máy chủ Jetty mặc định và thiết lập bộ nhớ JVM tối đa là 4GB. Để kiểm tra ứng dụng của tôi, tôi tạo ra 5000 truy vấn văn bản và phát hành chúng cho từng người một. Tuy nhiên, sau khoảng 110 truy vấn, container Jetty ném một ngoại lệ.Tại sao điều này xảy ra mọi lúc? Solr OutOfMemoryError GC vượt quá giới hạn vượt quá
Tại sao điều này lại xảy ra? Làm thế nào tôi có thể giải quyết nó?
SEVERE: java.lang.OutOfMemoryError: GC overhead limit exceeded
at org.apache.lucene.util.AttributeImpl.clone(AttributeImpl.java:196)
at org.apache.lucene.util.AttributeSource$State.clone(AttributeSource.java:116)
at org.apache.lucene.util.AttributeSource$State.clone(AttributeSource.java:119)
at org.apache.lucene.util.AttributeSource.captureState(AttributeSource.java:349)
at org.apache.solr.highlight.TokenOrderingFilter.incrementToken(DefaultSolrHighlighter.java:595)
at org.apache.lucene.search.highlight.OffsetLimitTokenFilter.incrementToken(OffsetLimitTokenFilter.java:43)
at org.apache.lucene.analysis.CachingTokenFilter.fillCache(CachingTokenFilter.java:78)
at org.apache.lucene.analysis.CachingTokenFilter.incrementToken(CachingTokenFilter.java:50)
at org.apache.lucene.search.highlight.Highlighter.getBestTextFragments(Highlighter.java:225)
at org.apache.solr.highlight.DefaultSolrHighlighter.doHighlightingByHighlighter(DefaultSolrHighlighter.java:468)
at org.apache.solr.highlight.DefaultSolrHighlighter.doHighlighting(DefaultSolrHighlighter.java:379)
at org.apache.solr.handler.component.HighlightComponent.process(HighlightComponent.java:116)
at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:194)
at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1368)
at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:356)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:252)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
Bạn có phiên bản 64 bit và phiên bản java 64 bit không? –
Thử tăng chồng JVM bằng cách sử dụng '-Xss4m'. –
Tôi chỉ tìm ra. Đó là do bộ đệm Lucene cấp thấp. Tôi vô hiệu hóa mã đó. Sau đó, nó hoạt động. (mặc dù hơi chậm) – Xiao