Hi experts,


I recently have memory issues on Lucene. By checking heap dump, most of them 
are occupied by SegmentCoreReaders.coreClosedListeners which is about nearly 
half of all.





========Dominator Tree====================

num  retain size(bytes)  percent  percent(live) class Name

----------------------------------------

0       14,024,859,136   21.76%   28.23%   
com.elesearch.activity.core.engine.lucene.LuceneIndex

|

10,259,490,504   15.92%   20.65%     
--org.apache.lucene.index.SegmentCoreReaders

|

10,258,783,280   15.92%   20.65%       --[field coreClosedListeners] 
java.util.Collections$SynchronizedSet

|

10,258,783,248   15.92%   20.65%         --[field c] java.util.LinkedHashSet

|

10,258,783,224   15.92%   20.65%           --[field map] java.util.LinkedHashMap

----------------------------------------

1       11,865,993,448   18.41%   23.89%   
com.elesearch.activity.core.engine.lucene.LuceneIndex

----------------------------------------

2       11,815,171,240   18.33%   23.79%   
com.elesearch.activity.core.engine.lucene.LuceneIndex

----------------------------------------

3        6,504,382,648   10.09%   13.09%   
com.elesearch.activity.core.engine.lucene.LuceneIndex

|

5,050,933,760   7.84%   10.17%     --org.apache.lucene.index.SegmentCoreReaders

|

5,050,256,008   7.84%   10.17%       --[field coreClosedListeners] 
java.util.Collections$SynchronizedSet

|

5,050,255,976   7.84%   10.17%         --[field c] java.util.LinkedHashSet

|

5,050,255,952   7.84%   10.17%           --[field map] java.util.LinkedHashMap

----------------------------------------

4        2,798,684,240   4.34%   5.63%   
com.elesearch.activity.core.engine.lucene.LuceneIndex



========thread stack====================



========histogram====================

num     instances      #bytes      percent  class Name

----------------------------------------

0         497,527  38,955,989,888  60.44%  long[]

1      18,489,470   7,355,741,784  11.41%  short[]

2      18,680,799   3,903,937,088  6.06%  byte[]

3      35,643,993   3,775,822,640  5.86%  char[]

4       4,017,462   1,851,518,792  2.87%  int[]

5       7,788,280     962,103,784  1.49%  java.lang.Object[]

6       5,256,391     618,467,640  0.96%  java.lang.String[]

7      14,974,224     479,175,168  0.74%  java.lang.String

8       9,585,494     460,103,712  0.71%  java.util.HashMap$Node

9      18,133,885     435,213,240  0.68%  
org.apache.lucene.util.RoaringDocIdSet$ShortArrayDocIdSet

10       1,559,661     351,465,624  0.55%  java.util.HashMap$Node[]

11       4,132,738     264,495,232  0.41%  java.util.HashMap

12       1,519,178     243,068,480  0.38%  java.lang.reflect.Method

13       4,068,400     195,283,200  0.30%  
com.sun.org.apache.xerces.internal.xni.QName

14       1,181,106     183,932,704  0.29%  org.apache.lucene.search.DocIdSet[]

15       5,721,339     183,082,848  0.28%  java.lang.StringBuilder

16       1,515,804     181,896,480  0.28%  java.lang.reflect.Field

17         348,720     134,652,416  0.21%  
com.sun.org.apache.xerces.internal.xni.QName[]

18       3,358,251     134,330,040  0.21%  java.util.ArrayList

19       2,775,517      88,816,544  0.14%  org.apache.lucene.util.BytesRef

total  232,140,701  64,452,630,104


We used LRUQueryCache with maxSize 1000 and maxRamBytesUsed   64MB.



The coreClosedListeners occupied too much heap than I expected, is there any 
reason for that?

Reply via email to