Fixing Out of Memory Issues

If you encounter one of the following issues for a process in the log, the memory setting may be too low:

  • java.lang.OutOfMemoryError: Java heap space

  • java.lang.OutOfMemoryError: PermGen space

You can increase memory allocation for any Exalead CloudView process in <DATADIR>/config/DeploymentInternal.xml. By default, the following processes are already available in the file:

  • The search server.

  • The indexing server.

  • All Java processes.

Note: Exalead CloudView processes are C++ and Java-based. Memory is mainly consumed by the C++ part. Changing memory setting as explained below does not impact memory allocation in the C++ part.

This task shows you how to:

Solve java.lang.OutOfMemoryError: Java Heap Space

To solve this issue, increase the maximum heap size (-Xmx parameter).

  1. Go to <DATADIR>/config.
  2. Edit DeploymentInternal.xml and look for the process in which the issue occurred:
    • searchserver
    • indexingserver
    • java (for all processes)
  3. Increase -Xmx by 50%.
  4. Click Apply. If you cannot access the Administration Console, rebuild the configuration using buildgct.

Solve java.lang.OutOfMemoryError: PermGen Space

To solve this issue, specify the size of permanent generation (-XX:MaxPermSize parameter).

  1. Go to <DATADIR>/config.
  2. Edit DeploymentInternal.xml and look for the process in which the issue occurred:
    • searchserver
    • indexingserver
    • java (for all processes)
  3. Increase -XX:MaxPermSize by 50%.
  4. Click Apply. If you cannot access the Administration Console, rebuild the configuration using buildgct.