Hi,
We have a ES (v 0.15.2) node with 4G max memory setting. Yesterday we got
OutOfMemory exception. When we opened heap dump file top consumers are
listed as :
Class Name | Objects |
Shallow Heap | Retained Heap
java.util.HashMap$Entry[] | 636,265 |
235,395,736 | >= 2,052,914,024
java.lang.String | 9,085,491 |
363,419,640 | >= 2,052,655,928
java.util.HashMap | 165,404 |
11,909,088 | >= 2,045,058,128
org.elasticsearch.common.inject.internal.InheritingState| 34,792 |
3,061,696 | >= 1,940,516,872
java.util.HashSet | 3,832 |
91,968 | >= 1,868,911,312
org.elasticsearch.common.inject.internal.WeakKeySet | 34,792 |
835,008 | >= 1,864,349,368
java.util.HashMap$Entry | 3,765,482 |
210,866,992 | >= 1,833,403,016
char[] | 9,023,850 |
1,745,608,584 | >= 1,745,608,584
org.apache.lucene.index.SegmentReader$CoreReaders | 1,423 |
193,528 | >= 926,018,528
org.apache.lucene.index.TermInfosReader | 1,945 |
186,720 | >= 914,385,792
java.lang.Object[] | 2,518,277 |
457,147,488 | >= 772,023,440
java.lang.Thread | 3,578 |
629,728 | >= 717,638,544
As you see one of the biggest consumers in memory consumption is
java.lang.Thread. When we check number of threads we saw that 4K threads are
created. May that be the source of OutOfMemory? It seems that most of the
threads are related async index requests.
--
Mustafa Sener
www.ifountain.com