liuchlc 2019-10-11 10:39 采纳率: 0%
浏览 254

Lucence分页搜索时会造成服务器上内存泄漏?

我们业务上不存在大数据查询,但是服务器上出现内存泄漏可能,是因为遭攻击了的原因吗?还有这个ScoreDoc对象是因为攻击导致了占据了大量内在吗?如果是应该如何解决?
之前排查日志的确是发现有人利用网页的搜索入口不断地尝试攻击
原因:
org.apache.lucene.search.ScoreDoc这个对象占据了98%的内存

日志:

[ACTIVE] ExecuteThread: '19' for queue: 'weblogic.kernel.Default (self-tuning)' at org.apache.lucene.search.HitQueue.getSentinelObject()Ljava/lang/Object; (HitQueue.java:75) at org.apache.lucene.util.PriorityQueue.initialize(I)V (PriorityQueue.java:112) at org.apache.lucene.search.HitQueue.(IZ)V (HitQueue.java:67) at org.apache.lucene.search.TopScoreDocCollector.(I)V (TopScoreDocCollector.java:122) at org.apache.lucene.search.TopScoreDocCollector.(ILorg/apache/lucene/search/TopScoreDocCollector$1;)V (TopScoreDocCollector.java:37) at org.apache.lucene.search.TopScoreDocCollector$OutOfOrderTopScoreDocCollector.(I)V (TopScoreDocCollector.java:72) at org.apache.lucene.search.TopScoreDocCollector$OutOfOrderTopScoreDocCollector.(ILorg/apache/lucene/search/TopScoreDocCollector$1;)V (TopScoreDocCollector.java:70) at org.apache.lucene.search.TopScoreDocCollector.create(IZ)Lorg/apache/lucene/search/TopScoreDocCollector; (TopScoreDocCollector.java:111) at com.csii.lucene.index.IndexDao.search(Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;)Lcom/csii/lucene/bean/SearchResult; (IndexDao.java:89) at com.csii.lucene.GetResult.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V (GetResult.java:51) at javax.servlet.http.HttpServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V (HttpServlet.java:820) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run()Ljava/lang/Object; (StubSecurityHelper.java:227) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(Ljavax/servlet/ServletRequest;Ljavax/servlet/http/HttpServletRequest;Lweblogic/servlet/internal/ServletRequestImpl;Ljavax/servlet/ServletResponse;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/Servlet;)Ljava/lang/Throwable; (StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Lweblogic/servlet/internal/FilterChainImpl;)V (ServletStubImpl.java:301) at weblogic.servlet.internal.TailFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V (TailFilter.java:26) at weblogic.servlet.internal.FilterChainImpl.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V (FilterChainImpl.java:56) at com.csii.cms.util.EncodingFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V (EncodingFilter.java:52) at weblogic.servlet.internal.FilterChainImpl.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V (FilterChainImpl.java:56) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(Lweblogic/servlet/internal/ServletStubImpl;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)Ljava/lang/Object; (WebAppServletContext.java:3730) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run()Ljava/lang/Object; (WebAppServletContext.java:3696) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Lweblogic/security/subject/AbstractSubject;Ljava/security/PrivilegedAction;)Ljava/lang/Object; (AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(Lweblogic/security/acl/internal/AuthenticatedSubject;Lweblogic/security/acl/internal/AuthenticatedSubject;Ljava/security/PrivilegedAction;)Ljava/lang/Object; (SecurityManager.java:120) at weblogic.servlet.internal.WebAppServletContext.securedExecute(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Z)V (WebAppServletContext.java:2273) at weblogic.servlet.internal.WebAppServletContext.execute(Lweblogic/servlet/internal/ServletRequestImpl;Lweblogic/servlet/internal/ServletResponseImpl;)V (WebAppServletContext.java:2179) at weblogic.servlet.internal.ServletRequestImpl.run()V (ServletRequestImpl.java:1490) at weblogic.work.ExecuteThread.execute(Ljava/lang/Runnable;)V (ExecuteThread.java:256) at weblogic.work.ExecuteThread.run()V (ExecuteThread.java:221)

  • 写回答

1条回答

      报告相同问题?

      相关推荐 更多相似问题

      悬赏问题

      • ¥25 随机森林二分类预测不均匀
      • ¥15 求助!!c语言作业(新了解的
      • ¥15 starccm流域异常
      • ¥15 并行程序时间性能计算比较
      • ¥15 正点原子stm32实验55网络通信打开LWIP_NETCONN会报错
      • ¥15 Linux关于FTP服务器配置的问题(很基础)
      • ¥15 求助!python作业
      • ¥50 求一份TAP网卡驱动修改版
      • ¥15 计算机组成原理存储器的题目中关于地址线的疑问
      • ¥15 Python离散数学问题