Hi 

 

This is the output of jmap histo:live <pid>.

 

Any useful information?  There are about 300k cache entries. Also I enable
swap. 

 

Each entry costs 10K  memory in average. But each entry only has 50 bytes at
most.

 

Any help will be appreciated.

 

num     #instances         #bytes  class name

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

   1:      21642240      519413760
org.apache.ignite.internal.util.GridCircularBuffer$Item

   2:         49027      405647408  [Lorg.jsr166.ConcurrentHashMap8$Node;

   3:       6056069      304233144  [B

   4:       5754322      279563064  [C

   5:      11376526      273036624
java.util.concurrent.ConcurrentSkipListMap$Node

   6:       5688514      227540560
org.apache.ignite.internal.processors.query.h2.opt.GridH2KeyValueRowOnheap

   7:       5684293      181897376
org.apache.ignite.internal.processors.cache.GridCacheTtlManager$EntryWrapper

   8:       5333102      170659264
java.util.concurrent.ConcurrentHashMap$Node

   9:       5325117      170403744
org.apache.ignite.spi.swapspace.file.FileSwapSpaceSpi$SwapValue

  10:       5754728      138113472  java.lang.String

  11:       5689577      136549848
java.util.concurrent.ConcurrentSkipListMap$Index

  12:       5686353      136472472
org.apache.ignite.internal.processors.cache.KeyCacheObjectImpl

  13:       5325117      127802808  org.apache.ignite.spi.swapspace.SwapKey

  14:       5690452       91047232  org.h2.value.ValueString

  15:         85112       87930752
[Lorg.apache.ignite.internal.util.GridCircularBuffer$Item;

  16:       1515799       48505568  java.util.HashMap$Node

  17:        268818       42628512  [Ljava.lang.Object;

  18:         13467       35031504
[Ljava.util.concurrent.ConcurrentHashMap$Node;

  19:        361155       23113920
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAt
omicCacheEntry

  20:       1226922       19630752  java.lang.Integer

  21:        102183       15207336  [Ljava.util.HashMap$Node;

  22:        363397       14535880
org.apache.ignite.internal.binary.BinaryObjectImpl

  23:        395583       12658656  org.jsr166.ConcurrentHashMap8$Node

  24:        359176       11493632
org.apache.ignite.internal.processors.cache.extras.GridCacheTtlEntryExtras

  25:        363397        8721528
org.apache.ignite.internal.processors.query.h2.opt.GridH2ValueCacheObject

  26:        257615        6182760  java.util.concurrent.atomic.AtomicLong

  27:        170775        5464800
java.util.concurrent.locks.ReentrantLock$NonfairSync

  28:         85112        5447168
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLocalPart
ition

  29:         85112        5447168
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLocalPart
ition$1

  30:        103188        4953024  java.util.HashMap

  31:         87751        3510040  org.jsr166.ConcurrentHashMap8

  32:        136382        3273168  org.jsr166.ConcurrentLinkedDeque8$Node

  33:         90699        2902368  org.jsr166.LongAdder8

  34:         87277        2792864  java.lang.ref.WeakReference

  35:        170663        2730608  java.util.concurrent.locks.ReentrantLock

  36:         85112        2723584
org.apache.ignite.internal.processors.cache.GridCacheConcurrentMapImpl

  37:         85112        2723584
org.apache.ignite.internal.util.GridCircularBuffer

  38:        134255        2148080
org.apache.ignite.internal.processors.cache.CacheEvictableEntryImpl

  39:         85304        2047296
java.util.concurrent.CopyOnWriteArrayList

  40:         10900        1693000
[Lorg.jsr166.ConcurrentLinkedHashMap$HashEntry;

  41:         96594        1545504  java.util.HashSet

  42:         86086        1377376
java.util.concurrent.atomic.AtomicInteger

  43:         85435        1366960  java.util.HashMap$KeySet

  44:         85002        1360032
org.apache.ignite.internal.processors.query.h2.opt.GridH2AbstractKeyValueRow
$WeakValue

  45:         44295        1063080  java.util.ArrayList

  46:         13513         864832  java.util.concurrent.ConcurrentHashMap

  47:         21090         843600
org.apache.ignite.internal.processors.cache.version.GridCacheVersion

  48:           160         653824  [Lorg.apache.ignite.internal.processors.
cache.distributed.dht.GridDhtLocalPartition;

  49:          5664         637120  java.lang.Class

  50:          7047         620136  java.lang.reflect.Method

  51:         10900         610400
org.jsr166.ConcurrentLinkedHashMap$Segment

  52:         12528         601344
java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync

  53:         11566         555168  org.h2.expression.ExpressionColumn

  54:         16698         400752  java.lang.Long

  55:         12522         400704  javax.management.MBeanAttributeInfo

  56:          7878         381504  [I

  57:          1767         310992  org.h2.command.dml.Select

  58:          6162         295776
org.apache.ignite.internal.processors.affinity.GridAffinityAssignment

  59:          7223         288920  java.util.LinkedHashMap$Entry

  60:          9276         222624  org.h2.expression.ValueExpression

  61:          6912         221184  org.h2.expression.Comparison

  62:          3042         219024  java.lang.reflect.Field

  63:         12529         200464
java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock

  64:         12529         200464
java.util.concurrent.locks.ReentrantReadWriteLock$Sync$ThreadLocalHoldCounte
r

  65:         12529         200464
java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock

  66:          1767         197904  org.h2.table.TableFilter

  67:          2116         186208
org.apache.ignite.internal.processors.jobmetrics.GridJobMetricsSnapshot

  68:          1767         169632  org.h2.jdbc.JdbcPreparedStatement

  69:          5145         164640  org.h2.expression.ConditionAndOr

  70:          7674         162472  [Ljava.lang.Class;

  71:          4654         148928  org.h2.expression.Alias

  72:          1726         137328  [S

  73:          1767         127224  org.h2.index.IndexCursor

  74:          7800         124800  java.lang.Object

  75:          1360         119680
org.apache.ignite.internal.util.StripedCompositeReadWriteLock$ReadLock

  76:          1767         113088  org.h2.jdbc.JdbcResultSet

  77:          1992         111552  java.util.LinkedHashMap

  78:          4228         101472  org.h2.value.ValueLong

  79:          2804          89728
java.lang.ThreadLocal$ThreadLocalMap$Entry

  80:           309          88992
org.apache.ignite.configuration.CacheConfiguration

  81:          1767          84816  org.h2.command.CommandContainer

  82:          1172          84384  org.h2.expression.Aggregate

  83:           777          80808  org.h2.table.Column

  84:          2502          80064
java.util.concurrent.ConcurrentSkipListMap$HeadIndex

  85:          2939          79912  [Lorg.h2.expression.Expression;

  86:          1870          73152  [Lorg.h2.table.IndexColumn;

  87:          1798          71920  java.lang.ref.SoftReference

  88:            17          69904  [Ljava.nio.ByteBuffer;

  89:          2166          69312
org.apache.ignite.internal.GridLoggerProxy

  90:          1715          68600  org.h2.expression.Operation

  91:            64          66560  [Lorg.apache.ignite.internal.processors.
jobmetrics.GridJobMetricsSnapshot;

  92:            20          65920  [Ljava.nio.channels.SelectionKey;

 

 

 

 

发件人: Shawn Du [mailto:shawn...@neulion.com.cn] 
发送时间: 2016年10月26日 13:25
收件人: user@ignite.apache.org
主题: ignite used too much memory

 

Hi,

 

In my ignite server, I have several caches, each cache has about 10k
entries. 

I build the entry using binary object. Each entry just has 3 or 4 fields,
each field is short, less than 20 bytes. But I enable index for each field.

Most entry has set expired time. The expired time is short, about 90
seconds. 

After run for 2 hours, 8G memory are used, and the ignite run out of memory.


I build the ignite from source code, and use yesterdays’ github master
branch code.

 

My questions:

1)       Does the expired data release the memory?

2)       How ignite build the index? How much memory it cost?

 

Thanks

Shawn

 

 

 

Reply via email to