You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@jmeter.apache.org by Dmitry Kudrenko <dm...@ardas.dp.ua> on 2008/01/11 14:10:28 UTC

Re[4]: JMeter goes Out of Memory

>> We are using JMeter 2.3.0 and java 1.5. We are not using any assertions
>> or pre or post processors.
>>
>> Also we are not using the SOAP request sampler. It did not matched with
>> our performance testing requirement, so we have customized the Java
>> request sampler to invoke web service request.

s> Are you sure that is not the cause of the problem?
I am with sebb. Check the following scenarios:
* Try to start plan with 1,2,3,4 threads and to measure how memory usage
is changed.
* Try to test your JMeter with disabled JavaRequest/or replace it with
test.JavaRequest.
* Try to start your JavaRequest sampler outside JMeter and observe
memory usage.

I think your JavaRequest is a reason of OutOfMemory error.

Can you give me an answer to the following question:
What kind of memory JMeter exceeded (Heap Memory, PermGen space)?
Maybe you can find this information at the console or jmeter.log.

s> JMeter can normally handle many more than 4 threads.

s> For example on my 1GB system I'm currently running a 200 thread Java
s> Request test which is generating over 2000 samples/second. Admittedly
s> the is no IO involved. A test using the HTTP sampler against a local
s> Tomcat shows similar capablilities (200 threads, over 2000
s> samples/second) on the same system.

>> Regards,
>> Ragini Thakur
>>
>>
>> -----Original Message-----
>> From: sebb [mailto:sebbaz@gmail.com]
>> Sent: Wednesday, January 09, 2008 5:29 PM
>> To: JMeter Users List
>> Subject: Re: Re[2]: JMeter goes Out of Memory
>>
>> Which version of JMeter ? Java?
>> And which samplers do you use?
>>
>> Do you use lots of Assertions, Pre or Post-Processors?
>>
>>
>> On 09/01/2008, Dmitry Kudrenko <dm...@ardas.dp.ua> wrote:
>> > DK> Greetings, Ragini.
>> >
>> > Sorry, I skipped your messages about 4 users test. It is strange.
>> > What OS do you use?
>> > What memory usage do you have in the task manager?
>> > Try to inspect JMeter with some profiler tool (JConsole or YourKit
>> > Java Profiler, etc).
>> >
>> > What kind of memory JMeter exceeded (Heap Memory, PermGen space)?
>> >
>> > DK> How many threads do you start for your test plan?
>> > DK> What kind of OutOfMememory Exception do you have?
>> >
>> > DK> Look to the following article if it is
>> "java.lang.OutOfMemoryError:
>> > DK> unable to create new native thread" exception:
>> >
>> > DK> http://www.egilh.com/blog/archive/2006/06/09/2811.aspx
>> >
>> > DK> Note about interesting paradox:
>> > DK> "the more memory you give to the JVM the more likely you are to
>> get
>> > DK> java.lang.OutOfMemoryError: unable to create new native thread"
>> (c)
>> >
>> > DK> Try to execute test plans on the several JMeter servers. It should
>> > DK> help you.
>> >
>> >
>> > RT>> We are using JMeter for Performance testing of one of the
>> critical
>> > RT>> application. We are using JMeter for testing Web service calls.
>> >
>> > RT>> When we execute the test with 4 users, the Jmeter goes out of
>> memory and
>> > RT>> we can not proceed with the test runs.
>> >
>> > RT>>
>> >
>> > RT>> We are not using any memory intensive listeners in out test plan.
>> We are
>> > RT>> using simple data writer.
>> >
>> > RT>>
>> >
>> > RT>> The configurations in our Jmeter.bat files are as follows:
>> >
>> > RT>>
>> >
>> > RT>> rem See the unix startup file for the rationale of the following
>> > RT>> parameters,
>> >
>> > RT>> rem including some tuning recommendations
>> >
>> > RT>> set HEAP=-Xms512m -Xmx512m
>> >
>> > RT>> set NEW=-XX:NewSize=128m -XX:MaxNewSize=128m
>> >
>> > RT>> set SURVIVOR=-XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=50%
>> >
>> > RT>> set TENURING=-XX:MaxTenuringThreshold=2
>> >
>> > RT>> set EVACUATION=-XX:MaxLiveObjectEvacuationRatio=40%
>> >
>> > RT>> set RMIGC=-Dsun.rmi.dgc.client.gcInterval=600000
>> > RT>> -Dsun.rmi.dgc.server.gcInterval=600000
>> >
>> > RT>> set PERM=-XX:PermSize=256m -XX:MaxPermSize=256m
>> >
>> > RT>> set DEBUG=-verbose:gc -XX:+PrintTenuringDistribution
>> >
>> > RT>>
>> >
>> > RT>> JMeter machine configuration:
>> >
>> > RT>>
>> >
>> > RT>> 32 bit processor and  1.88GHz , 2 CPU and 4GB RAM
>> >
>> > RT>>
>> >
>> > RT>> Application server configuration:
>> >
>> > RT>>
>> >
>> > RT>> 64 bit processor, 2 CPU and 8GB RAM
>> >
>> > RT>>
>> >
>> > RT>> We also tried changing the heap size to 1024m but, after that
>> when we
>> > RT>> run the Jmeter we get the error as JVM could not be initialized.
>> >
>> > RT>>
>> >
>> > RT>> Please suggest how we can solve this problem.
>> >
>> > RT>>
-- 
Regards,
Dmitry Kudrenko
ARDAS group http://ardas.dp.ua


---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-user-help@jakarta.apache.org


Re[6]: JMeter goes Out of Memory

Posted by Dmitry Kudrenko <dm...@ardas.dp.ua>.
Greetings,

RT> I am not sure if JaVa Request is the cause of error. JMeter exceeds heap
RT> memory.
It will be good if you will use java profiler for identify which
objects are used 512m from JVM Heap. Maybe memory leaks?
How many threads you can start with the following HEAP settings?
-Xms128m -Xmx128m


RT> To resolve this issue we are not using Distributed testing in this there
RT> are 2 Jmeter servers. But now we are facing issue of distribution of odd
RT> no of threads across tests. This is because when we configure the no of
RT> threads from Client say N = 7. It will distribute these threads across 2
RT> servers and finally we get 14 requests for each sampler being executed
RT> under thread group. Is their any way to execute odd no of threads in
RT> distributed testing. Please suggest.

I don't know why you need odd threads. All suggestions is not good as
for me. I think it is needed to fix OutOfMemory issue.

So:

1. You can use 3 JMeter servers :). Even on one machine.
2. You can add special parameter on the server for correct thread
numbers. For example, jmeter-server.bat -Jloop.offset=0.
3. You can use some flag (user parameters) for interrupting excess threads.
4. etc...

But I think it is another thread for discussion.

>>> We are using JMeter 2.3.0 and java 1.5. We are not using any
RT> assertions
>>> or pre or post processors.
>>>
>>> Also we are not using the SOAP request sampler. It did not matched
RT> with
>>> our performance testing requirement, so we have customized the Java
>>> request sampler to invoke web service request.

s>> Are you sure that is not the cause of the problem?
RT> I am with sebb. Check the following scenarios:
RT> * Try to start plan with 1,2,3,4 threads and to measure how memory usage
RT> is changed.
RT> * Try to test your JMeter with disabled JavaRequest/or replace it with
RT> test.JavaRequest.
RT> * Try to start your JavaRequest sampler outside JMeter and observe
RT> memory usage.

RT> I think your JavaRequest is a reason of OutOfMemory error.

RT> Can you give me an answer to the following question:
RT> What kind of memory JMeter exceeded (Heap Memory, PermGen space)?
RT> Maybe you can find this information at the console or jmeter.log.

s>> JMeter can normally handle many more than 4 threads.

s>> For example on my 1GB system I'm currently running a 200 thread Java
s>> Request test which is generating over 2000 samples/second. Admittedly
s>> the is no IO involved. A test using the HTTP sampler against a local
s>> Tomcat shows similar capablilities (200 threads, over 2000
s>> samples/second) on the same system.

>>> Regards,
>>> Ragini Thakur
>>>
>>>
>>> -----Original Message-----
>>> From: sebb [mailto:sebbaz@gmail.com]
>>> Sent: Wednesday, January 09, 2008 5:29 PM
>>> To: JMeter Users List
>>> Subject: Re: Re[2]: JMeter goes Out of Memory
>>>
>>> Which version of JMeter ? Java?
>>> And which samplers do you use?
>>>
>>> Do you use lots of Assertions, Pre or Post-Processors?
>>>
>>>
>>> On 09/01/2008, Dmitry Kudrenko <dm...@ardas.dp.ua> wrote:
>>> > DK> Greetings, Ragini.
>>> >
>>> > Sorry, I skipped your messages about 4 users test. It is strange.
>>> > What OS do you use?
>>> > What memory usage do you have in the task manager?
>>> > Try to inspect JMeter with some profiler tool (JConsole or YourKit
>>> > Java Profiler, etc).
>>> >
>>> > What kind of memory JMeter exceeded (Heap Memory, PermGen space)?
>>> >
>>> > DK> How many threads do you start for your test plan?
>>> > DK> What kind of OutOfMememory Exception do you have?
>>> >
>>> > DK> Look to the following article if it is
>>> "java.lang.OutOfMemoryError:
>>> > DK> unable to create new native thread" exception:
>>> >
>>> > DK> http://www.egilh.com/blog/archive/2006/06/09/2811.aspx
>>> >
>>> > DK> Note about interesting paradox:
>>> > DK> "the more memory you give to the JVM the more likely you are to
>>> get
>>> > DK> java.lang.OutOfMemoryError: unable to create new native thread"
>>> (c)
>>> >
>>> > DK> Try to execute test plans on the several JMeter servers. It
RT> should
>>> > DK> help you.
>>> >
>>> >
>>> > RT>> We are using JMeter for Performance testing of one of the
>>> critical
>>> > RT>> application. We are using JMeter for testing Web service
RT> calls.
>>> >
>>> > RT>> When we execute the test with 4 users, the Jmeter goes out of
>>> memory and
>>> > RT>> we can not proceed with the test runs.
>>> >
>>> > RT>>
>>> >
>>> > RT>> We are not using any memory intensive listeners in out test
RT> plan.
>>> We are
>>> > RT>> using simple data writer.
>>> >
>>> > RT>>
>>> >
>>> > RT>> The configurations in our Jmeter.bat files are as follows:
>>> >
>>> > RT>>
>>> >
>>> > RT>> rem See the unix startup file for the rationale of the
RT> following
>>> > RT>> parameters,
>>> >
>>> > RT>> rem including some tuning recommendations
>>> >
>>> > RT>> set HEAP=-Xms512m -Xmx512m
>>> >
>>> > RT>> set NEW=-XX:NewSize=128m -XX:MaxNewSize=128m
>>> >
>>> > RT>> set SURVIVOR=-XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=50%
>>> >
>>> > RT>> set TENURING=-XX:MaxTenuringThreshold=2
>>> >
>>> > RT>> set EVACUATION=-XX:MaxLiveObjectEvacuationRatio=40%
>>> >
>>> > RT>> set RMIGC=-Dsun.rmi.dgc.client.gcInterval=600000
>>> > RT>> -Dsun.rmi.dgc.server.gcInterval=600000
>>> >
>>> > RT>> set PERM=-XX:PermSize=256m -XX:MaxPermSize=256m
>>> >
>>> > RT>> set DEBUG=-verbose:gc -XX:+PrintTenuringDistribution
>>> >
>>> > RT>>
>>> >
>>> > RT>> JMeter machine configuration:
>>> >
>>> > RT>>
>>> >
>>> > RT>> 32 bit processor and  1.88GHz , 2 CPU and 4GB RAM
>>> >
>>> > RT>>
>>> >
>>> > RT>> Application server configuration:
>>> >
>>> > RT>>
>>> >
>>> > RT>> 64 bit processor, 2 CPU and 8GB RAM
>>> >
>>> > RT>>
>>> >
>>> > RT>> We also tried changing the heap size to 1024m but, after that
>>> when we
>>> > RT>> run the Jmeter we get the error as JVM could not be
RT> initialized.
>>> >
>>> > RT>>
>>> >
>>> > RT>> Please suggest how we can solve this problem.
-- 
Regards,
Dmitry Kudrenko
ARDAS group http://ardas.dp.ua


---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-user-help@jakarta.apache.org


RE: Re[4]: JMeter goes Out of Memory

Posted by Ragini Thakur <ra...@cybage.com>.
Hi,

I am not sure if JaVa Request is the cause of error. JMeter exceeds heap
memory. 

To resolve this issue we are not using Distributed testing in this there
are 2 Jmeter servers. But now we are facing issue of distribution of odd
no of threads across tests. This is because when we configure the no of
threads from Client say N = 7. It will distribute these threads across 2
servers and finally we get 14 requests for each sampler being executed
under thread group. Is their any way to execute odd no of threads in
distributed testing. Please suggest.

Regards,
Ragini Thakur

-----Original Message-----
From: Dmitry Kudrenko [mailto:dmitry@ardas.dp.ua] 
Sent: Friday, January 11, 2008 6:40 PM
To: JMeter Users List
Subject: Re[4]: JMeter goes Out of Memory

>> We are using JMeter 2.3.0 and java 1.5. We are not using any
assertions
>> or pre or post processors.
>>
>> Also we are not using the SOAP request sampler. It did not matched
with
>> our performance testing requirement, so we have customized the Java
>> request sampler to invoke web service request.

s> Are you sure that is not the cause of the problem?
I am with sebb. Check the following scenarios:
* Try to start plan with 1,2,3,4 threads and to measure how memory usage
is changed.
* Try to test your JMeter with disabled JavaRequest/or replace it with
test.JavaRequest.
* Try to start your JavaRequest sampler outside JMeter and observe
memory usage.

I think your JavaRequest is a reason of OutOfMemory error.

Can you give me an answer to the following question:
What kind of memory JMeter exceeded (Heap Memory, PermGen space)?
Maybe you can find this information at the console or jmeter.log.

s> JMeter can normally handle many more than 4 threads.

s> For example on my 1GB system I'm currently running a 200 thread Java
s> Request test which is generating over 2000 samples/second. Admittedly
s> the is no IO involved. A test using the HTTP sampler against a local
s> Tomcat shows similar capablilities (200 threads, over 2000
s> samples/second) on the same system.

>> Regards,
>> Ragini Thakur
>>
>>
>> -----Original Message-----
>> From: sebb [mailto:sebbaz@gmail.com]
>> Sent: Wednesday, January 09, 2008 5:29 PM
>> To: JMeter Users List
>> Subject: Re: Re[2]: JMeter goes Out of Memory
>>
>> Which version of JMeter ? Java?
>> And which samplers do you use?
>>
>> Do you use lots of Assertions, Pre or Post-Processors?
>>
>>
>> On 09/01/2008, Dmitry Kudrenko <dm...@ardas.dp.ua> wrote:
>> > DK> Greetings, Ragini.
>> >
>> > Sorry, I skipped your messages about 4 users test. It is strange.
>> > What OS do you use?
>> > What memory usage do you have in the task manager?
>> > Try to inspect JMeter with some profiler tool (JConsole or YourKit
>> > Java Profiler, etc).
>> >
>> > What kind of memory JMeter exceeded (Heap Memory, PermGen space)?
>> >
>> > DK> How many threads do you start for your test plan?
>> > DK> What kind of OutOfMememory Exception do you have?
>> >
>> > DK> Look to the following article if it is
>> "java.lang.OutOfMemoryError:
>> > DK> unable to create new native thread" exception:
>> >
>> > DK> http://www.egilh.com/blog/archive/2006/06/09/2811.aspx
>> >
>> > DK> Note about interesting paradox:
>> > DK> "the more memory you give to the JVM the more likely you are to
>> get
>> > DK> java.lang.OutOfMemoryError: unable to create new native thread"
>> (c)
>> >
>> > DK> Try to execute test plans on the several JMeter servers. It
should
>> > DK> help you.
>> >
>> >
>> > RT>> We are using JMeter for Performance testing of one of the
>> critical
>> > RT>> application. We are using JMeter for testing Web service
calls.
>> >
>> > RT>> When we execute the test with 4 users, the Jmeter goes out of
>> memory and
>> > RT>> we can not proceed with the test runs.
>> >
>> > RT>>
>> >
>> > RT>> We are not using any memory intensive listeners in out test
plan.
>> We are
>> > RT>> using simple data writer.
>> >
>> > RT>>
>> >
>> > RT>> The configurations in our Jmeter.bat files are as follows:
>> >
>> > RT>>
>> >
>> > RT>> rem See the unix startup file for the rationale of the
following
>> > RT>> parameters,
>> >
>> > RT>> rem including some tuning recommendations
>> >
>> > RT>> set HEAP=-Xms512m -Xmx512m
>> >
>> > RT>> set NEW=-XX:NewSize=128m -XX:MaxNewSize=128m
>> >
>> > RT>> set SURVIVOR=-XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=50%
>> >
>> > RT>> set TENURING=-XX:MaxTenuringThreshold=2
>> >
>> > RT>> set EVACUATION=-XX:MaxLiveObjectEvacuationRatio=40%
>> >
>> > RT>> set RMIGC=-Dsun.rmi.dgc.client.gcInterval=600000
>> > RT>> -Dsun.rmi.dgc.server.gcInterval=600000
>> >
>> > RT>> set PERM=-XX:PermSize=256m -XX:MaxPermSize=256m
>> >
>> > RT>> set DEBUG=-verbose:gc -XX:+PrintTenuringDistribution
>> >
>> > RT>>
>> >
>> > RT>> JMeter machine configuration:
>> >
>> > RT>>
>> >
>> > RT>> 32 bit processor and  1.88GHz , 2 CPU and 4GB RAM
>> >
>> > RT>>
>> >
>> > RT>> Application server configuration:
>> >
>> > RT>>
>> >
>> > RT>> 64 bit processor, 2 CPU and 8GB RAM
>> >
>> > RT>>
>> >
>> > RT>> We also tried changing the heap size to 1024m but, after that
>> when we
>> > RT>> run the Jmeter we get the error as JVM could not be
initialized.
>> >
>> > RT>>
>> >
>> > RT>> Please suggest how we can solve this problem.
>> >
>> > RT>>
-- 
Regards,
Dmitry Kudrenko
ARDAS group http://ardas.dp.ua


---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-user-help@jakarta.apache.org


"Legal Disclaimer: This electronic message and all contents contain information from Cybage Software Private Limited which may be privileged, confidential, or otherwise protected from disclosure. The information is intended to be for the addressee(s) only. If you are not an addressee, any disclosure, copy, distribution, or use of the contents of this message is strictly prohibited. If you have received this electronic message in error please notify the sender by reply e-mail to and destroy the original message and all copies. Cybage has taken every reasonable precaution to minimize the risk of malicious content in the mail, but is not liable for any damage you may sustain as a result of any malicious content in this e-mail. You should carry out your own malicious content checks before opening the e-mail or attachment."
www.cybage.com 



---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-user-help@jakarta.apache.org