|License Type||SaaS & On-Premise|
|Agent Mode||Assess & Protect|
|Main Product Category||Java Agent|
After running your application with the Contrast agent, it now runs out of memory.
The Contrast agent requires a little extra memory in order to operate.
Contrast Protect requires very little, if any, extra memory. Unless you're already very close to the heap limit, it's possible no additions will be necessary. At the maximum, you should add an extra 128MB. The official minimum required for Contrast is 64MB.
Contrast Assess requires more memory to record the analytics necessary to tell a complete vulnerability story. Contrast suggests using 2x the maximum heap usage during typical Assess usage. In versions prior to 3.5.5, the minimum required is 1.75x. (E.g., if you normally run with 128MB of memory, run with 256MB.)
A number of performance improvements were included in versions 3.5.5+. These improvements bring the minimum required memory for Contrast Assess down to just 1.3x.
If after adding memory, you're still running out of space, we should generate a heap dump. You can do this a couple different ways:
- If you can reliably cause OutOfMemoryErrors to occur, add the following JVM options alongside your -javaagent flag:
- An alternative way to generate heap dumps is through the jmap command (not available on IBM):
$ jmap -dump:file=/tmp/contrast_dumps/contrast.hprof,format=b <pid_of_app_server>
Of course, replace the /tmp/ path with a good place to write. You can then securely send us the heap dump via our secure transfer system. The Contrast Support team will provide a link.
- If you have no way of generating heap dumps, we can try to infer where the problem is by using a debug log. You can enable debug logging by adding the following JVM option alongside your -javaagent flag:
For details of reaching the Contrast Support Team, please see: https://www.contrastsecurity.com/customer-support