cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gerhard Froehlich" <g-froehl...@gmx.de>
Subject [C2] object tracing with OptimizeIt40D
Date Tue, 21 Aug 2001 22:11:35 GMT
Hi,
I just running cocoon with OptimizeIt40D
http://www.vmgear.com/index.html

This is a nice tool to determine memory/cpu leaks.
I just configured it with tomcat3.2.2 and jdk1.3.
As "Stressing Tool" I choose the "Microsoft Web
Application Stress Tool".

Some interesting results:
I shot against cocooon 20 Threads with no delay requesting
during 30mins.
following urls:
/cocoon/hello.html
/cocoon/welcome-svg

Most instance where created from the java.util.HashMap
class. Something between 19505 instances.
(heapdata.txt in the zip file appended)
Interesting is that this value starts at 3000 and after
seconds it sway about 19000 instances. I force the gc
manually but this value don't shrink.

In OptimizeIt40D you can take a closer look at this instances
I'm not a specialist in java memory management, but it
seems that this objects can't be freed by the gc because
they have all one reference left:
<schnipp>
References to Object[23]=[0x0, 0x0, 0x0, java.util.HashMap$Entry 0x1de2e18,
java.util.HashMap$Entry 0x1d61d48, 0x0, 0x0, java.util.HashMap$Entry
0x1d5d130,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, .... application
----------------------------------------------------------------------------
----
 java.util.HashMap$Entry formatter-type=text/wml/phone.com
   element of Object[23]=[0x0, 0x0, 0x0, java.util.HashMap$Entry 0x1de2e18,
   java.util.HashMap$Entry 0x1d61d48, 0x0, 0x0, java.util.HashMap$Entry
0x1d5d130, 0x0,
   0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...

Allocated at
----------------------------------------------------------------------------
---
HashMap.rehash() (HashMap.java:290)
HashMap.put() (HashMap.java:349)
BrowserImpl.compose() (BrowserImpl.java:175)
DefaultComponentFactory.newInstance() (DefaultComponentFactory.java:102)
DefaultComponentHandler.get() (DefaultComponentHandler.java:96)
ExcaliburComponentManager.lookup() (ExcaliburComponentManager.java:289)
ExcaliburComponentManager.lookup() (ExcaliburComponentManager.java:246)
TraxTransformer.compose() (TraxTransformer.java:173)
DefaultComponentFactory.newInstance() (DefaultComponentFactory.java:102)
AbstractPool.newPoolable() (AbstractPool.java:72)
AbstractPool.internalGrow() (AbstractPool.java:113)
SoftResourceLimitingPool.grow() (SoftResourceLimitingPool.java:91)
SoftResourceLimitingPool.initialize() (SoftResourceLimitingPool.java:80)
PoolableComponentHandler.initialize() (PoolableComponentHandler.java:86)
ExcaliburComponentSelector.addComponent()
(ExcaliburComponentSelector.java:427)
AbstractSitemap.load_component() (AbstractSitemap.java:222)
sitemap_xmap$Configurer.configTransformers() (sitemap_xmap.java:1019)
sitemap_xmap.configure() (sitemap_xmap.java:765)
DefaultComponentFactory.newInstance() (DefaultComponentFactory.java:112)
ThreadSafeComponentHandler.initialize() (ThreadSafeComponentHandler.java:82)
GeneratorSelector.addGenerator() (GeneratorSelector.java:135)
ProgramGeneratorImpl.addCompiledComponent() (ProgramGeneratorImpl.java:317)
ProgramGeneratorImpl.load() (ProgramGeneratorImpl.java:189)
Handler.run() (Handler.java:207)
Thread.run() (Thread.java:484)
</schnapp>

I've a zip file appended with the different reports of the test. They are
all ascii files.

Maybe it's nothing, but you never know. It's just a try...
I hope it can help a little bit

Cheers
Gerhard




Mime
View raw message