[ grinder-Bugs-3287570 ] OutOfMemory about process.instrumenter.dcr.RecorderLocator
SourceForge.net <[email protected]> Tue, 18 Sep 2012 14:56:08 -0700
| Newsgroups | gmane.comp.java.grinder.devel |
|---|---|
| Message-ID | <[email protected]> |
Bugs item #3287570, was opened at 2011-04-15 07:49
Message generated for change (Settings changed) 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: Closed
Resolution: Fixed
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-21 07:27
Message:
Fix memory leak that occurs if same target is instrumented repeatedly.
http://grinder.svn.sourceforge.net/viewvc/grinder?view=revision&revision=4272
----------------------------------------------------------------------
Comment By: Philip Aston (philipa)
Date: 2011-07-20 03: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
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/