[ grinder-Bugs-3287570 ] OutOfMemory about process.instrumenter.dcr.RecorderLocator
"SourceForge.net" <[email protected]> Wed, 20 Jul 2011 11:23:02 +0100
| Newsgroups | gmane.comp.java.grinder.devel |
|---|---|
| Message-ID | <[email protected]> |
Bugs item #3287570, was opened at 2011-04-15 15:49
Message generated for change (Comment added) made by philipa
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=118598&aid=3287570&group_id=18598
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Core engine
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: John (crystalstone)
>Assigned to: Philip Aston (philipa)
Summary: OutOfMemory about process.instrumenter.dcr.RecorderLocator
Initial Comment:
ENV:
grinder 3.4
jython 2.5.2
sun jdk 1.6.0_23-b05
Grinder properties file:
grinder.processes=1
grinder.threads=100
grinder.runs=2800
grinder.jvm.arguments=-Xms1536m -Xmx1536m
ISSUE:
When using Grinder run performance testing for 4 hours, hit OutOfMemory issue, From the collected heapdump during run, found following issue:
Class Name | Shallow Heap | Retained Heap
-------------------------------------------------------------------------------------------------------------------------------------
| |
extra166y.CustomConcurrentHashMap @ 0x23f149e8 | 48 | 587,498,920
'- m_recorders net.grinder.engine.process.instrumenter.dcr.RecorderLocator @ 0x23eaf7a8 | 16 | 16
|- m_recorderRegistry net.grinder.engine.process.instrumenter.dcr.Jython25Instrumenter @ 0x23f8ad00| 56 | 3,472
| '- [1] java.lang.Object[10] @ 0x23f360d0 | 56 | 3,552
| '- elementData java.util.ArrayList @ 0x23ec30b8 | 24 | 3,576
| '- m_instrumenters net.grinder.engine.process.instrumenter.MasterInstrumenter @ 0x23e9caf8| 16 | 3,592
| '- <Java Local> java.lang.Thread @ 0x23e9cc30 main Thread | 112 | 1,472
-------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------
>Comment By: Philip Aston (philipa)
Date: 2011-07-20 11:23
Message:
I think I've tracked this down.
There's a memory leak if the same thing is repeatedly instrumented (by
calling record()). This will also cause a performance degradation in the
instrumentation code.
Does your script repeatedly use "record()" on the same target (e.g. in the
__call__() method)? If so, you can work around the problem either by moving
the instrumentation to __init__() or the top level of the script, or by
guardiing the instrumentation ("if not instrumented: record();
instrumented=1").
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=118598&aid=3287570&group_id=18598
------------------------------------------------------------------------------
10 Tips for Better Web Security
Learn 10 ways to better secure your business today. Topics covered include:
Web security, SSL, hacker attacks & Denial of Service (DoS), private keys,
security Microsoft Exchange, secure Instant Messaging, and much more.
http://www.accelacomm.com/jaw/sfnl/114/51426210/