由于EHCache导致的内存泄漏问题

Nar*_*rma 6 java memory-leaks ehcache

我在我的性能环境中面临内存泄漏问题,因为EhCache具有以下configuraiton:

<cache name="mycache"
            maxElementsInMemory="50000"
            eternal="false"
            timeToIdleSeconds="300"
            timeToLiveSeconds="0"
            overflowToDisk="false"
            diskPersistent="false"
            memoryStoreEvictionPolicy="LRU"
            />                
Run Code Online (Sandbox Code Playgroud)

我接受了堆转储并尝试使用IBM Heap Analyzer分析泄漏的原因.IBM Heap分析器怀疑内存泄漏,信息如下:

Leak suspect:   576,690,536 bytes (83.16 %) of Java heap is used by 128 instances of net/sf/ehcache/store/chm/SelectableConcurrentHashMap$Segment
Contains an instance) of the leak suspect: - org/springframework/orm/jpa/LocalContainerEntityManagerFactoryBean holding 117,109,616 bytes at 0x1b6fb410

Total size: 576,690,536 bytes

Size:   528 bytes
Run Code Online (Sandbox Code Playgroud)

我的对象(存储在ehcache中)大小为88字节.

有了这些信息,我无法理解在这种情况下可能导致内存泄漏的原因.

我的对象是否未从缓存中刷新/删除?我的ehcache配置中有什么奇怪的东西吗?如果没有从缓存中删除对象,可能是什么原因?

任何的想法?

小智 0

timeToLiveSeconds = <no of seconds>。应大于 0。