Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.

What's consuming the app server heap memory?

Avatar

Level 4

Dear all,

I keep getting the "java.lang.OutOfMemoryError: Java heap space" error in our environment, I tried to remove the BAM from the Jboss, and the error disappear for some times, but it appear again recently, while we only changed one line of script in one of the form. (i.e. I don't think the error is caused by changing code)

So, I would like to know where can I find some information about how the memory is consumed in ALC? Because we only have 2 workflow running, although one of them is heavily used.

Here some information about my environment.
- ALC 8.2.1 with no sp
- Using the default Jboss as app server
- Using the default MySQL as Database
- Only 2 workflow running
  - While 1 of them have around 4 - 8 request pre week
  - And the others will have around 60 - 80 request pre day (i.e. around 490 pre week)

Here listed some points I think may affect the memory and I want to know for sure:
1) Number of variable used in long-live process (i.e. More variable = more Memory used)
2) Number of operation used in long-live process (i.e. More operation = more memory used)
3) Number of track record of long-live process (i.e. More track record = more memory used)
4) Long-lived process vs Short-lived process (i.e. Only long-lived process will keep consume memory because short-lived process will only load on call?)
5) Number of long-lived process still running (i.e. If we send a assign task to notify the user the workflow have been approved, and the user never dismiss it, it will turn out to consume the app server memory because it is still in the running stage)
6) Old version of the same long-lived process will use memory even no active workflow? (i.e. Because active long-live process will load up into memory?)

Thanks in advance

Regards
Bill

6 Replies

Avatar

Level 4

Hi all,

Any light about this? Or I should post it in another forum?

Regards

Bill

Avatar

Level 7

Bill:

You might want to do the following first:

1) Remove BAM from the /deploy folder.  If you need reporting dashboards, deploy BAM to another server (not just another JBoss instance on the same server).  This is because BAM's Java heap size requirements are high (2-10 GB).

2) 32-bit JDK environments on Windows only permit up to 1.2 GB of Java heap size.  Given this, deploy only those LiveCycle components you actually plan to use.

3) Apply SP3 to LC 8.2.1

You can watch memory usage within the JVM using JConsole.  More here:

http://blogs.adobe.com/livecycle/2008/04/monitor_livecycle_jvm_heap_uti.html

http://blogs.adobe.com/livecycle/2008/11/monitoring_livecycle_performan.html

This might also help:

http://blogs.adobe.com/livecycle/2008/03/livecycle_sample_jboss_runbat.html

Avatar

Level 4

Hi Jayan,

Thanks for the reply.

1) Already removed the BAM, and it did help for a few months, but one day the problem happen again, and that's why I would like to know what will affect the memory usage in ALC

2) Thanks for the suggestion, I am not too family with the ALC components, but I will see what can I do.

AndI am afraid this may not be the solution, because as said in point one, BAM already removed and free quite a few memory for only 2 active workflow. But yet the heap error still occur, so I am afraid we miss out something, and it will consume all the memory even we install the 64bit JDK and have 4GB memory for the app server.

3) We have some problem on install SP3, and adobe support did not provide the solution yet, so, am trying to migrate to ES2 at the moment.

Thanks for the reply, and assigned some point for you, although I am not sure did that mean anything to a employee.

Regards

Bill

Avatar

Level 1

Did you tried to increase your heap size in jboss server . try this  and i think it will  help you in solving this problem .

if u want  to know how to increase the heap size:

go to bath of ur JBoss    "D:\Adobe\Adobe LiveCycle ES2\jboss\bin" as example.

scond find the Run file and  open it in  Text File

find a line  which is responsible for   heap size ==>>"set JAVA_HEAP_ARGS=-XX:PermSize=128m -XX:MaxPermSize=192m -Xms1024m -Xmx1024m"

close it and restart the server again and test your problem.

put ur line to be like what i wrote 1024 means that 1 giga for heap of jboss.

if the problem still appear for  you then your Memory doesnot of because memory heap size

Avatar

Level 4

Hi,

Thanks for the reply.

We already set the heap to 1344m, and it should be the max under 32bit environment.

Because we got this line in our server log: Caused by: java.lang.OutOfMemoryError: Java heap space

So, I think we have no doubt that it is all about the java heap.

We have:

- Only 2 active process

- 334M more memory then default

- BAM removed

And yet we hit the java heap problem, that's why I would like to know the information about how the memory consumed in ALC.

Regards

Bill

Avatar

Level 1

OutOfMemoryError: Java heap space error

LiveCycle ES can require transactions that run for longer than the default application server transaction time-out value. For example, processing large PDF documents can be very time intensive. These errors can appear in the application server log when Workbench ES users drag large files to the Resources view.

If you encounter OutOfMemoryError messages in the application server log, you must increase the transaction time-out value. The recommended value is 300 seconds (5 minutes).

1- open [appserver root]\server\conf\jboss.services.xml by text editor

2- Locate the attribute elemen that has the name attribute  with value TransactionTimeout

     <attribute name ="TransactionTimeout">300</attribute>

3- Modify the value (300) to be  a larger number as required

4- save jboss.services.xml and restart the server

Refs:

Installing and Deploying LiveCycle® ES for JBoss®.pdf

i hope that can help you