Increasing memory allocation

The virtual users that access your web server require memory to prepare requests, send requests, and receive responses. Because the amount of memory is not automatically set on remote computers, you might receive an out-of-memory error. To correct this situation, increase the memory allocation for that computer.

About this task

If you receive an out-of-memory error when you run a test or schedule, override the default amount of memory that is allocated for that computer. To do this, set the RPT_VMARGS property, which overrides RPT_DEFAULT_MEMORY_SIZE. After the first successful execution, Test Performance automatically sets value for RPT_DEFAULT_MEMORY_SIZE, which represents the maximum heap that will be specified by Test Performance in subsequent executions.
Note: Ensure there is at least one successful execution after all locations are created so RPT_DEFAULT_MEMORY_SIZE exists.
Tip:

If you see out-of-memory issues, it is a good practice to first check the javacore* file. You can also look at the results and verify that the server is responding correctly because many times errors can lead to excessive resource consumption. You can also monitor memory usage with Task Manager or other tools at varying user load levels such as 10, 50, 100, 500 or 1000 users and use that data to make an estimate of the memory needs per virtual user and then project memory requirements for larger user loads. In some cases the best solution is to add another agent.

Test Performance sets heap size for RPT_DEFAULT_MEMORY_SIZE based on the bit-type of the JRE:
  • For 32-bit Java Runtime Environment (JREs), Test Performance sets 70% of the size of physical memory to RPT_DEFAULT_MEMORY_SIZE. Typically, the maximum limit is set to 1200m.
  • For 64-bit JREs, some workloads might perform better with a lesser heap size than 70% of physical memory up to a maximum of 12000m.

Procedure

To increase the memory allocation on a remote computer:

  1. In the Test Navigator (from your local computer), expand the project until you find the deployment location that you want to change.
    Deployment locations are represented by the "location icon, which looks like three little monitors" icon.
  2. Right-click the deployment location, and then click Open.
  3. Under Property Groups, click the General Properties link, and then click Add.
  4. In the New Property window:
    1. In the Property Name field, type RPT_VMARGS.
    2. In the Operator field, confirm that the operator is =.
    3. In the Property Value field, type -Xmxnnnnm, where nnnn is the amount of memory, in megabytes, and then click OK.
    If you need to set multiple RPT_VMARGS values for a location, place them in the same property entry and separate them with a space. Do not use multiple property entries to set multiple RPT_VMARGS values for a location.
    The following New Property window sets maximum heap to 1200 megabytes:New Property window, which shows the Property Name set to RPT_VMARGS, the Operator set to Equals, and the Property Value set to -Xmx1500m
    Tip: It is a good practice is to monitor memory usage with Task Manager or other tools at varying user load levels such as 10, 50, 100, 500 or 1000 users and use that data to make an estimate of the memory needs per virtual user and then project memory requirements for larger user loads. In some cases the best solution is to add another agent.

What to do next

If you have increased the available memory and you still receive out-of-memory errors, add more remote computers for your user groups. For information about how to do this, see Running a user group at a remote location.