Out of memory errors at end of a run

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Out of memory errors at end of a run

Annorax
Hello all,

I'm running Grinder 3.11 on RHEL 7.2 with the following JDK:

java version "1.7.0"
Java(TM) SE Runtime Environment (build pxa6470sr6fp1-20140108_01(SR6 FP1))
IBM J9 VM (build 2.6, JRE 1.7.0 Linux amd64-64 Compressed References 20140106_181350 (JIT enabled, AOT enabled)
J9VM - R26_Java726_SR6_20140106_1601_B181350
JIT  - r11.b05_20131003_47443.02
GC   - R26_Java726_SR6_20140106_1601_B181350_CMPRSS
J9CL - 20140106_181350)
JCL - 20140103_01 based on Oracle 7u51-b11

My Python script is just HTTP posts to a servlet and itself is very simple. I'm running this for a 4 hour duration with 7 processes and 600 threads. In my grinder.properties, I have this set "grinder.jvm.arguments=-mx2048M".

When my run ends, I get lots of heap dumps and error stacks like the below. I already have the memory for each worker thread set to 2GB, do I need to set it even higher? I'm hoping not as I'm reaching the limit in memory on my machine. I'm not using the Grinder statistics for anything so if I can disable them to avoid this error, I'm find with that.

Any ideas on how to proceed?

2016-03-01 18:28:35,512 ERROR worker-bootstrap: Error running worker process
java.lang.OutOfMemoryError: Java heap space
        at java.lang.StringBuffer.ensureCapacityImpl(StringBuffer.java:338) ~[na:1.7.0]
        at java.lang.StringBuffer.append(StringBuffer.java:204) ~[na:1.7.0]
        at java.io.StringWriter.write(StringWriter.java:123) ~[na:1.7.0]
        at java.io.PrintWriter.write(PrintWriter.java:467) ~[na:1.7.0]
        at java.io.PrintWriter.write(PrintWriter.java:484) ~[na:1.7.0]
        at java.io.PrintWriter.print(PrintWriter.java:614) ~[na:1.7.0]
        at net.grinder.statistics.StatisticsTable$1.next(StatisticsTable.java:150) ~[grinder-core-3.11.jar:na]
        at net.grinder.statistics.TestStatisticsMap$ForEach.iterate(TestStatisticsMap.java:355) ~[grinder-core-3.11.jar:na]
        at net.grinder.statistics.StatisticsTable.print(StatisticsTable.java:146) ~[grinder-core-3.11.jar:na]
        at net.grinder.engine.process.GrinderProcess.run(GrinderProcess.java:554) ~[grinder-core-3.11.jar:na]
        at net.grinder.engine.process.WorkerProcessEntryPoint.run(WorkerProcessEntryPoint.java:86) [grinder-core-3.11.jar:na]
        at net.grinder.engine.process.WorkerProcessEntryPoint.main(WorkerProcessEntryPoint.java:59) [grinder-core-3.11.jar:na]

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
grinder-use mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/grinder-use
Reply | Threaded
Open this post in threaded view
|

Re: Out of memory errors at end of a run

Gary Mulder-3
John,

I usually allocate about 1GB of RAM per 100 threads, but it is of course very dependent on the complexity of your Jython scripts.

Check out the following article on GC logging which might provide more information on when you're using your memory:


For performance and GC pause reasons I'd consider running multiple Grinder instances with less threads, e.g. try 2 x 300 or 4 x 150.

Regards,
Gary

On 2 March 2016 at 12:56, John K <[hidden email]> wrote:
Hello all,

I'm running Grinder 3.11 on RHEL 7.2 with the following JDK:

java version "1.7.0"
Java(TM) SE Runtime Environment (build pxa6470sr6fp1-20140108_01(SR6 FP1))
IBM J9 VM (build 2.6, JRE 1.7.0 Linux amd64-64 Compressed References 20140106_181350 (JIT enabled, AOT enabled)
J9VM - R26_Java726_SR6_20140106_1601_B181350
JIT  - r11.b05_20131003_47443.02
GC   - R26_Java726_SR6_20140106_1601_B181350_CMPRSS
J9CL - 20140106_181350)
JCL - 20140103_01 based on Oracle 7u51-b11

My Python script is just HTTP posts to a servlet and itself is very simple. I'm running this for a 4 hour duration with 7 processes and 600 threads. In my grinder.properties, I have this set "grinder.jvm.arguments=-mx2048M".

When my run ends, I get lots of heap dumps and error stacks like the below. I already have the memory for each worker thread set to 2GB, do I need to set it even higher? I'm hoping not as I'm reaching the limit in memory on my machine. I'm not using the Grinder statistics for anything so if I can disable them to avoid this error, I'm find with that.

Any ideas on how to proceed?

2016-03-01 18:28:35,512 ERROR worker-bootstrap: Error running worker process
java.lang.OutOfMemoryError: Java heap space
        at java.lang.StringBuffer.ensureCapacityImpl(StringBuffer.java:338) ~[na:1.7.0]
        at java.lang.StringBuffer.append(StringBuffer.java:204) ~[na:1.7.0]
        at java.io.StringWriter.write(StringWriter.java:123) ~[na:1.7.0]
        at java.io.PrintWriter.write(PrintWriter.java:467) ~[na:1.7.0]
        at java.io.PrintWriter.write(PrintWriter.java:484) ~[na:1.7.0]
        at java.io.PrintWriter.print(PrintWriter.java:614) ~[na:1.7.0]
        at net.grinder.statistics.StatisticsTable$1.next(StatisticsTable.java:150) ~[grinder-core-3.11.jar:na]
        at net.grinder.statistics.TestStatisticsMap$ForEach.iterate(TestStatisticsMap.java:355) ~[grinder-core-3.11.jar:na]
        at net.grinder.statistics.StatisticsTable.print(StatisticsTable.java:146) ~[grinder-core-3.11.jar:na]
        at net.grinder.engine.process.GrinderProcess.run(GrinderProcess.java:554) ~[grinder-core-3.11.jar:na]
        at net.grinder.engine.process.WorkerProcessEntryPoint.run(WorkerProcessEntryPoint.java:86) [grinder-core-3.11.jar:na]
        at net.grinder.engine.process.WorkerProcessEntryPoint.main(WorkerProcessEntryPoint.java:59) [grinder-core-3.11.jar:na]

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
grinder-use mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/grinder-use



------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
grinder-use mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/grinder-use
Reply | Threaded
Open this post in threaded view
|

Re: Out of memory errors at end of a run

Annorax
Hi Gary,

Thank you for the reply. I can do as you suggest and break up my Grinder workers but I'm only seeing this OutOfMemory error when my run is coming to an end based on grinder.duration. While it is running, everything is fine so I think that what's happening is that when the Grinder is done and tries to tally up some information, it runs out of memory.

Since I am gathering metrics another way and not relying on any information from Grinder (I've set all my logging to report only errors and have the data log set to /dev/null to save disk space), I was wondering if there is a way to disable Grinder statistics, as from looking at the error stack, it is crashing when trying to report some statistics that I don't use.


From: [hidden email]
Date: Wed, 2 Mar 2016 13:21:36 +0000
To: [hidden email]
Subject: Re: [Grinder-use] Out of memory errors at end of a run

John,

I usually allocate about 1GB of RAM per 100 threads, but it is of course very dependent on the complexity of your Jython scripts.

Check out the following article on GC logging which might provide more information on when you're using your memory:


For performance and GC pause reasons I'd consider running multiple Grinder instances with less threads, e.g. try 2 x 300 or 4 x 150.

Regards,
Gary

On 2 March 2016 at 12:56, John K <[hidden email]> wrote:
Hello all,

I'm running Grinder 3.11 on RHEL 7.2 with the following JDK:

java version "1.7.0"
Java(TM) SE Runtime Environment (build pxa6470sr6fp1-20140108_01(SR6 FP1))
IBM J9 VM (build 2.6, JRE 1.7.0 Linux amd64-64 Compressed References 20140106_181350 (JIT enabled, AOT enabled)
J9VM - R26_Java726_SR6_20140106_1601_B181350
JIT  - r11.b05_20131003_47443.02
GC   - R26_Java726_SR6_20140106_1601_B181350_CMPRSS
J9CL - 20140106_181350)
JCL - 20140103_01 based on Oracle 7u51-b11

My Python script is just HTTP posts to a servlet and itself is very simple. I'm running this for a 4 hour duration with 7 processes and 600 threads. In my grinder.properties, I have this set "grinder.jvm.arguments=-mx2048M".

When my run ends, I get lots of heap dumps and error stacks like the below. I already have the memory for each worker thread set to 2GB, do I need to set it even higher? I'm hoping not as I'm reaching the limit in memory on my machine. I'm not using the Grinder statistics for anything so if I can disable them to avoid this error, I'm find with that.

Any ideas on how to proceed?

2016-03-01 18:28:35,512 ERROR worker-bootstrap: Error running worker process
java.lang.OutOfMemoryError: Java heap space
        at java.lang.StringBuffer.ensureCapacityImpl(StringBuffer.java:338) ~[na:1.7.0]
        at java.lang.StringBuffer.append(StringBuffer.java:204) ~[na:1.7.0]
        at java.io.StringWriter.write(StringWriter.java:123) ~[na:1.7.0]
        at java.io.PrintWriter.write(PrintWriter.java:467) ~[na:1.7.0]
        at java.io.PrintWriter.write(PrintWriter.java:484) ~[na:1.7.0]
        at java.io.PrintWriter.print(PrintWriter.java:614) ~[na:1.7.0]
        at net.grinder.statistics.StatisticsTable$1.next(StatisticsTable.java:150) ~[grinder-core-3.11.jar:na]
        at net.grinder.statistics.TestStatisticsMap$ForEach.iterate(TestStatisticsMap.java:355) ~[grinder-core-3.11.jar:na]
        at net.grinder.statistics.StatisticsTable.print(StatisticsTable.java:146) ~[grinder-core-3.11.jar:na]
        at net.grinder.engine.process.GrinderProcess.run(GrinderProcess.java:554) ~[grinder-core-3.11.jar:na]
        at net.grinder.engine.process.WorkerProcessEntryPoint.run(WorkerProcessEntryPoint.java:86) [grinder-core-3.11.jar:na]
        at net.grinder.engine.process.WorkerProcessEntryPoint.main(WorkerProcessEntryPoint.java:59) [grinder-core-3.11.jar:na]

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
grinder-use mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/grinder-use



------------------------------------------------------------------------------ Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________ grinder-use mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/grinder-use

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
grinder-use mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/grinder-use
Reply | Threaded
Open this post in threaded view
|

Re: Out of memory errors at end of a run

Joan Picanyol i Puig
Have you tried removing the Test.record wrappers?

On a side note, I'm wondering on how you gather metrics: do you have a
proxy in the way?

* John K <[hidden email]> [20160302 14:24]:

> Hi Gary,
>
> Thank you for the reply. I can do as you suggest and break up my Grinder workers but I'm only seeing this OutOfMemory error when my run is coming to an end based on grinder.duration. While it is running, everything is fine so I think that what's happening is that when the Grinder is done and tries to tally up some information, it runs out of memory.
>
> Since I am gathering metrics another way and not relying on any information from Grinder (I've set all my logging to report only errors and have the data log set to /dev/null to save disk space), I was wondering if there is a way to disable Grinder statistics, as from looking at the error stack, it is crashing when trying to report some statistics that I don't use.
>
> From: [hidden email]
> Date: Wed, 2 Mar 2016 13:21:36 +0000
> To: [hidden email]
> Subject: Re: [Grinder-use] Out of memory errors at end of a run
>
> John,
> I usually allocate about 1GB of RAM per 100 threads, but it is of course very dependent on the complexity of your Jython scripts.
> Check out the following article on GC logging which might provide more information on when you're using your memory:
> http://grinder.sourceforge.net/g3/garbage-collection.html
> For performance and GC pause reasons I'd consider running multiple Grinder instances with less threads, e.g. try 2 x 300 or 4 x 150.
> Regards,Gary
> On 2 March 2016 at 12:56, John K <[hidden email]> wrote:
>
>
>
> Hello all,
>
> I'm running Grinder 3.11 on RHEL 7.2 with the following JDK:
>
> java version "1.7.0"
> Java(TM) SE Runtime Environment (build pxa6470sr6fp1-20140108_01(SR6 FP1))
> IBM J9 VM (build 2.6, JRE 1.7.0 Linux amd64-64 Compressed References 20140106_181350 (JIT enabled, AOT enabled)
> J9VM - R26_Java726_SR6_20140106_1601_B181350
> JIT  - r11.b05_20131003_47443.02
> GC   - R26_Java726_SR6_20140106_1601_B181350_CMPRSS
> J9CL - 20140106_181350)
> JCL - 20140103_01 based on Oracle 7u51-b11
>
> My Python script is just HTTP posts to a servlet and itself is very simple. I'm running this for a 4 hour duration with 7 processes and 600 threads. In my grinder.properties, I have this set "grinder.jvm.arguments=-mx2048M".
>
> When my run ends, I get lots of heap dumps and error stacks like the below. I already have the memory for each worker thread set to 2GB, do I need to set it even higher? I'm hoping not as I'm reaching the limit in memory on my machine. I'm not using the Grinder statistics for anything so if I can disable them to avoid this error, I'm find with that.
>
> Any ideas on how to proceed?
>
> 2016-03-01 18:28:35,512 ERROR worker-bootstrap: Error running worker process
> java.lang.OutOfMemoryError: Java heap space
>         at java.lang.StringBuffer.ensureCapacityImpl(StringBuffer.java:338) ~[na:1.7.0]
>         at java.lang.StringBuffer.append(StringBuffer.java:204) ~[na:1.7.0]
>         at java.io.StringWriter.write(StringWriter.java:123) ~[na:1.7.0]
>         at java.io.PrintWriter.write(PrintWriter.java:467) ~[na:1.7.0]
>         at java.io.PrintWriter.write(PrintWriter.java:484) ~[na:1.7.0]
>         at java.io.PrintWriter.print(PrintWriter.java:614) ~[na:1.7.0]
>         at net.grinder.statistics.StatisticsTable$1.next(StatisticsTable.java:150) ~[grinder-core-3.11.jar:na]
>         at net.grinder.statistics.TestStatisticsMap$ForEach.iterate(TestStatisticsMap.java:355) ~[grinder-core-3.11.jar:na]
>         at net.grinder.statistics.StatisticsTable.print(StatisticsTable.java:146) ~[grinder-core-3.11.jar:na]
>         at net.grinder.engine.process.GrinderProcess.run(GrinderProcess.java:554) ~[grinder-core-3.11.jar:na]
>         at net.grinder.engine.process.WorkerProcessEntryPoint.run(WorkerProcessEntryPoint.java:86) [grinder-core-3.11.jar:na]
>         at net.grinder.engine.process.WorkerProcessEntryPoint.main(WorkerProcessEntryPoint.java:59) [grinder-core-3.11.jar:na]
>      
>
> ------------------------------------------------------------------------------
>
> Site24x7 APM Insight: Get Deep Visibility into Application Performance
>
> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
>
> Monitor end-to-end web transactions and take corrective actions now
>
> Troubleshoot faster and improve end-user experience. Signup Now!
>
> http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
> _______________________________________________
>
> grinder-use mailing list
>
> [hidden email]
>
> https://lists.sourceforge.net/lists/listinfo/grinder-use
>
>
>
>
>
> ------------------------------------------------------------------------------
> Site24x7 APM Insight: Get Deep Visibility into Application Performance
> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
> Monitor end-to-end web transactions and take corrective actions now
> Troubleshoot faster and improve end-user experience. Signup Now!
> http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
> _______________________________________________
> grinder-use mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/grinder-use     

> ------------------------------------------------------------------------------
> Site24x7 APM Insight: Get Deep Visibility into Application Performance
> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
> Monitor end-to-end web transactions and take corrective actions now
> Troubleshoot faster and improve end-user experience. Signup Now!
> http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140

> _______________________________________________
> grinder-use mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/grinder-use


--
pica

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
grinder-use mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/grinder-use
Reply | Threaded
Open this post in threaded view
|

Re: Out of memory errors at end of a run

Gary Mulder-3
In reply to this post by Annorax
On 2 March 2016 at 13:36, John K <[hidden email]> wrote:
Hi Gary,

Thank you for the reply. I can do as you suggest and break up my Grinder workers but I'm only seeing this OutOfMemory error when my run is coming to an end based on grinder.duration. While it is running, everything is fine so I think that what's happening is that when the Grinder is done and tries to tally up some information, it runs out of memory.

Not sure how to fix your issue programmatically. As a SysAdmin I'd just increase the Old Gen memory to 4+ GB or so, if you can. Keep the Young Gen small so that you minimise GC pauses while testing and watch the GC log to see how the JVM is consuming and freeing memory.

Regards,
Gary

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
grinder-use mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/grinder-use
Reply | Threaded
Open this post in threaded view
|

Re: Out of memory errors at end of a run

Annorax
Thank you for the suggestion to remove Test.record(...) as that has helped (though not solved) my problem of trying to keep a lean memory footprint. I'm load testing a J2EE application which records its own metrics that we use internally for a lot of measurements and therefore do not need the Grinder's own metrics.

I've been trying to reduce the Xmx setting in grinder.properties as my test script is very simple (I just form a simple XML and do an HTTP post) and finishes very quickly so not very many are running at once so I'm trying to study where the memory is being used and why I would need several GB of space for this.

The out of memory stack I'm getting now is below. My script does no logging except for errors (which there are maybe 3-4 in a 5 hour run) so I'm not sure what around logging is causing me to run out of heap space. Unfortunately none of this stack is coming from my Python script so I can't see what piece of code is causing problems.

Any ideas?

Exception in thread "thread 60" java.lang.OutOfMemoryError: Java heap space
        at java.lang.String     at org.python.core.PyFile.<init>(PyFile.java:135)
        at org.python.core.PyTraceback.getLine(PyTraceback.java:65)
        at org.python.core.PyTraceback.tracebackInfo(PyTraceback.java:38)
        at org.python.core.PyTraceback.dumpStack(PyTraceback.java:109)
        at org.python.core.PyTraceback.dumpStack(PyTraceback.java:120)
        at net.grinder.scriptengine.jython.JythonScriptExecutionException.tracebackToMessage(JythonScriptExecutionException.java:148)
        at net.grinder.scriptengine.jython.JythonScriptExecutionException.<init>(JythonScriptExecutionException.java:97)
        at net.grinder.scriptengine.jython.JythonScriptEngine$JythonWorkerRunnable.run(JythonScriptEngine.java:266)
        at net.grinder.engine.process.GrinderThread.run(GrinderThread.java:119)
        at java.lang.Thread.run(Thread.java:804)
.intern(Native Method)
        at java.util.jar.Attributes$Name.<init>(Attributes.java:477)
        at java.util.jar.Attributes.putValue(Attributes.java:179)
        at java.util.jar.Attributes.read(Attributes.java:432)
        at java.util.jar.Manifest.read(Manifest.java:211)
        at java.util.jar.Manifest.<init>(Manifest.java:81)
        at java.util.jar.JarFile.getManifestFromReference(JarFile.java:203)
        at java.util.jar.JarFile.getManifest(JarFile.java:180)
        at sun.misc.URLClassPath$JarLoader$2.getManifest(URLClassPath.java:1031)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:654)
        at java.net.URLClassLoader.access$400(URLClassLoader.java:92)
        at java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:1159)
        at java.security.AccessController.doPrivileged(AccessController.java:366)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:594)
        at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:760)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:728)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:325)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:707)
        at ch.qos.logback.classic.spi.LoggingEvent.<init>(LoggingEvent.java:125)
        at ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:468)
        at ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:424)
        at ch.qos.logback.classic.Logger.error(Logger.java:607)
        at net.grinder.engine.process.GrinderThread.run(GrinderThread.java:130)
        at java.lang.Thread.run(Thread.java:804)
Exception in thread "thread 96" java.lang.OutOfMemoryError: Java heap space
        at org.python.core.PyFile.<init>(PyFile.java:135)
        at org.python.core.PyTraceback.getLine(PyTraceback.java:65)
        at org.python.core.PyTraceback.tracebackInfo(PyTraceback.java:38)
        at org.python.core.PyTraceback.dumpStack(PyTraceback.java:109)
        at org.python.core.PyTraceback.dumpStack(PyTraceback.java:120)
        at net.grinder.scriptengine.jython.JythonScriptExecutionException.tracebackToMessage(JythonScriptExecutionException.java:148)
        at net.grinder.scriptengine.jython.JythonScriptExecutionException.<init>(JythonScriptExecutionException.java:97)
        at net.grinder.scriptengine.jython.JythonScriptEngine$JythonWorkerRunnable.run(JythonScriptEngine.java:266)
        at net.grinder.engine.process.GrinderThread.run(GrinderThread.java:119)
        at java.lang.Thread.run(Thread.java:804)
Exception in thread "thread 93" java.lang.OutOfMemoryError: Java heap space
Exception in thread "thread 68" java.lang.OutOfMemoryError: Java heap space
        at java.lang.J9VMInternals.getStackTrace(Native Method)
        at java.lang.Throwable.getInternalStackTrace(Throwable.java:266)
        at java.lang.Throwable.getStackTrace(Throwable.java:194)
        at ch.qos.logback.classic.spi.ThrowableProxy.<init>(ThrowableProxy.java:35)
        at ch.qos.logback.classic.spi.ThrowableProxy.<init>(ThrowableProxy.java:41)
        at ch.qos.logback.classic.spi.LoggingEvent.<init>(LoggingEvent.java:125)
        at ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:468)
        at ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:424)
        at ch.qos.logback.classic.Logger.error(Logger.java:607)
        at net.grinder.engine.process.GrinderThread.run(GrinderThread.java:130)
        at java.lang.Thread.run(Thread.java:804)
Exception in thread "thread 44" java.lang.OutOfMemoryError: Java heap space
        at java.util.Formatter$FormatSpecifier.checkInteger(Formatter.java:2950)
        at java.util.Formatter$FormatSpecifier.<init>(Formatter.java:2695)
        at java.util.Formatter.parse(Formatter.java:2539)
        at java.util.Formatter.format(Formatter.java:2480)
        at java.util.Formatter.format(Formatter.java:2434)
        at java.lang.String.format(String.java:2107)
        at org.python.core.PyTraceback.tracebackInfo(PyTraceback.java:40)
        at org.python.core.PyTraceback.dumpStack(PyTraceback.java:109)
        at org.python.core.PyTraceback.dumpStack(PyTraceback.java:111)
        at org.python.core.PyTraceback.dumpStack(PyTraceback.java:111)
        at org.python.core.PyTraceback.dumpStack(PyTraceback.java:120)
        at net.grinder.scriptengine.jython.JythonScriptExecutionException.tracebackToMessage(JythonScriptExecutionException.java:148)
        at net.grinder.scriptengine.jython.JythonScriptExecutionException.<init>(JythonScriptExecutionException.java:97)
        at net.grinder.scriptengine.jython.JythonScriptEngine$JythonWorkerRunnable.run(JythonScriptEngine.java:266)
        at net.grinder.engine.process.GrinderThread.run(GrinderThread.java:119)
        at java.lang.Thread.run(Thread.java:804)
        at java.lang.J9VMInternals.getStackTrace(Native Method)
        at java.lang.Throwable.getInternalStackTrace(Throwable.java:266)
        at java.lang.Throwable.getStackTrace(Throwable.java:194)
        at ch.qos.logback.classic.spi.ThrowableProxy.<init>(ThrowableProxy.java:35)
        at ch.qos.logback.classic.spi.ThrowableProxy.<init>(ThrowableProxy.java:41)
        at ch.qos.logback.classic.spi.LoggingEvent.<init>(LoggingEvent.java:125)
        at ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:468)
        at ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:424)
        at ch.qos.logback.classic.Logger.error(Logger.java:607)
        at net.grinder.engine.process.GrinderThread.run(GrinderThread.java:130)


From: [hidden email]
Date: Thu, 3 Mar 2016 10:10:57 +0000
To: [hidden email]
Subject: Re: [Grinder-use] Out of memory errors at end of a run

On 2 March 2016 at 13:36, John K <[hidden email]> wrote:
Hi Gary,

Thank you for the reply. I can do as you suggest and break up my Grinder workers but I'm only seeing this OutOfMemory error when my run is coming to an end based on grinder.duration. While it is running, everything is fine so I think that what's happening is that when the Grinder is done and tries to tally up some information, it runs out of memory.

Not sure how to fix your issue programmatically. As a SysAdmin I'd just increase the Old Gen memory to 4+ GB or so, if you can. Keep the Young Gen small so that you minimise GC pauses while testing and watch the GC log to see how the JVM is consuming and freeing memory.

Regards,
Gary

------------------------------------------------------------------------------ Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________ grinder-use mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/grinder-use

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
grinder-use mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/grinder-use