If your application is large and lots of object created and you see error like "java.lang.OutOfMemoryError: GC overhead limit exceeded “ then check the size of heap space by using JVM options -Xms and -Xmx.
Xms denotes starting size of Heap while
-Xmx denotes maximum size of Heap in Java and
-Xmn denotes the size of the heap for the young generation Young generation represents all the objects which have a short life of time.
Message processor JVM is set to have the default maximum heap size of 512 megabytes, and that is not enough space for the application memory plus garbage collection overhead.
To check available memory on the virtual host run :-
$ free -m
Assuming that there is enough available memory and the system is not in swap, Increase the heap size allocation on each message processor via the following steps:
Set these properties using "m" suffix to indicate megabyte. For the Message Processor, set them in the /<inst_dir>/apigee/customer/application/message-processor.properties file as:
bin_setenv_min_mem=1024m
bin_setenv_max_mem=2048m
bin_setenv_max_permsize=2048m
If the message-processor.properties file does not exist, please create it.
After setting the values in the .properties file, restart the message processors, one at a time:
$ /<inst_root>/apigee/apigee-service/bin/apigee-service edge-message-processor restart