You're viewing **Apigee Edge** documentation.  
[Go to the
**Apigee X** documentation](http://cloud.google.com/apigee/docs/hybrid/v1.8/config-prop-ref). info

> [!NOTE]
> **Note:** The instructions in this document are applicable for Edge Private Cloud users only.


Apigee Edge's Message Processor is a Java-based component and uses a default heap memory size of
512 MB. However, the default heap memory size may not be sufficient for all use cases on
Apigee Edge. You may need to tune the heap memory size for your Message Processors depending on
your traffic and processing requirements or to address any memory-related issues.


The heap memory size of a Java application is controlled through the Java command line parameters
`-Xms` (minimum heap size) and `-Xmx` (maximum heap size). On the Apigee
Edge Message Processors, these are controlled through the properties `bin_setenv_min_mem`
and `bin_setenv_max_mem`. You can read more about these properties in
[Modifying Java memory settings](https://docs.apigee.com/private-cloud/v4.50.00/modifying-java-settings#changeheap).


This document explains how to configure the heap memory size on Apigee Edge's Message Processors.

## Before you begin

- If you aren't familiar with configuring properties on Edge for Private Cloud, read [How to configure
  Edge](https://docs.apigee.com/private-cloud/v4.50.00/how-configure-edge).
- For default and recommended Java memory settings, read [Modifying Java memory settings](https://docs.apigee.com/private-cloud/v4.50.00/modifying-java-settings).

## Changing Heap memory size on the Message Processors


This section explains how to change heap memory size on the Message Processors. Minimum and
maximum heap memory can be configured through the properties `bin_setenv_min_mem`
and `bin_setenv_max_mem` on the Message Processor component.

> [!TIP]
> **Required permissions:** To perform this task, you must have the following permissions:
>
> - Access to the specific Message Processors where you would like to configure the heap memory.
> - Access to create and edit the Message Processor component properties file in the `/opt/apigee/customer/application` folder.


To change heap memory size on the Message Processors, perform the following steps:

1. Open the `/opt/apigee/customer/application/message-processor.properties` file on the Message Processor machine in an editor. If the file does not already exist, then create it. For example:

   ```
   vi /opt/apigee/customer/application/message-processor.properties
   ```
2. Add the following lines to this file:

   ```
   bin_setenv_min_mem=minimum_heap_in_megabytes
   bin_setenv_max_mem=maximum_heap_in_megabytes
   ```


   For example, If you want to change minimum and maximum heap on the Message Processor to
   1 GB and 2 GB respectively, then add the following lines to this file:

   ```
   bin_setenv_min_mem=1024m
   bin_setenv_max_mem=2048m
   ```
3. Save your changes.
4. Ensure this properties file is owned by the `apigee` user. For example:

   ```
   chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
   ```
5. Restart the Message Processor using the following command:

   ```
   /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
   ```
6. If you have more than one Message Processor, repeat these steps on all the Message Processors.

## Verifying Heap memory size on the Message Processors


This section explains how to verify if the heap memory changes have been successfully modified
on the Message Processors.


Even though you used the properties `bin_setenv_min_mem` and `bin_setenv_max_mem` to change the heap memory size on the Message Processor, you need to verify that the actual Java command line parameters `-Xms` and `-Xmx` have been set with the new values as follows:

1. Search to see if the command line parameters `-Xms` and `-Xmx` have been set with the new values for the Message Processor using the following command:

   ```
   ps -ef | grep message-processor | egrep -o 'Xms[0-9a-z]+|Xmx[0-9a-z]+' | tr '\r' ' '
   ```
2. If the minimum and maximum heap memory have been changed on the Message Processor, then the previous command shows the new value listed for `-Xms` and `-Xmx`.


   The sample result from the previous command, after you have changed the minimum and maximum
   heap on the Message Processor, is as follows:

   ```
   Xms1024m
   Xmx2048m
   ```


   In the example output, note that the new values for minimum and maximum heap have been set.
3. If you still see the old values for `-Xms` and `-Xmx`, then verify that you have followed all the steps outlined in [Changing heap memory size on the Message Processors](https://docs.apigee.com/how-to-guides/configuring-heap-memory-size-message-processors#change-heap-mp) correctly. If you have missed any step, repeat all the steps again correctly.
4. If you are still not able to change heap memory, contact [Apigee Edge Support](https://docs.apigee.com/api-platform/troubleshoot/support).

## What's next?

- [Configuring heap memory size on the Qpid servers](https://docs.apigee.com/how-to-guides/configuring-heap-memory-size-qpid-servers)
- [Enabling G1GC on the Message Processors](https://docs.apigee.com/how-to-guides/enabling-g1gc-message-processors)
- [Enabling String Deduplication on the Message Processors](https://docs.apigee.com/how-to-guides/enabling-string-deduplication-message-processors)