jakarta-jcs-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Amy Wang <amy.w...@intersperse.com>
Subject Using group within region causing out of memory problem
Date Fri, 30 May 2003 00:08:04 GMT
Hi, All, 
 
I just wrote some tests against JCS performance.  Here is some interesting
thing I discovered. 
If I put cached object to group using putInGroup(key, groupName, value), it
will result in memory leak problem. Below is the memory report from JProble:
Before it ran out of memory, the groupId, groupAttrName, Integer(don't know
what it is used for) and IndexedDiskElementDescriptor used up most of the
heap. 
 
Class
Memory usage
org.apache.jcs.engine.control.group.GroupId
1,697,328 (21.0%)
org.apache.jcs.engine.control.group.GroupAttrName
1,697,328 (21.0%)
java.lang.Integer
1,115,024 (13.8%)
org.apache.jcs.auxiliary.disk.indexed.IndexedDiskElementDescriptor 1,624,560
(20.1%)
 
If I put the object directly to a region without using any group, the
performance is getting better but still, IndexedDiskElementDescriptor is the
top one object consuming the heap. Why the IndexedDiskElementDescriptor need
to keep the serialized form of the cached object. Shouldn't the cached
object suppose to be written out to the auxiliary disk and be removed from
the memory? Without using the grouping, the number of objects in JCS is 6
times more than using the grouping. 
 
With this memory issue, it is really intimidating us from using JCS. Any
explanation or answer will be greatly appreciated. 
 
Best regards, 
 
Amy
 
 
 
 
 
 
 

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message