Fortify Static Code Analyzer – Troubleshooting Memory Tuning – Native Heap Exhaustion

Native Heap Exhaustion

Native heap exhaustion is a rare scenario where the Java virtual machine can allocate the Java memory regions on startup, but is left with so few resources for its native operations (such as garbage collection) that it eventually encounters a fatal memory allocation failure that immediately terminates the process.


You can identify native heap exhaustion by abnormal termination of the Fortify Static Code Analyzer process and the following output on the command line:

# A fatal error has been detected by the Java Runtime Environment:
# java.lang.OutOfMemoryError: requested ... bytes for GrET ...

Because this is a fatal Java virtual machine error, it is usually accompanied by an error log created in the working directory with the file name hs_err_pidNNN.log.

Because the problem is a result of overcrowding within the process, the resolution is to reduce the amount of memory used for the Java memory regions (Java heap). Reducing this value should reduce the crowding problem and allow the scan to complete successfully.

Leave a Comment