Symantec Endpoint Protection Manager – GC overhead limit exceeded

I was unable to launch SEPM. I was recieving the following error. “Unexpected server error” I found this in the scm-server.log.

java.lang.OutOfMemoryError: GC overhead limit exceeded

The solution was


The default configuration of the Symantec Endpoint Protection Manager (SEPM) is designed to minimize the memory and disk-space footprint. However, in larger organizations which may be leveraging multiple groups and/or replicated sites, the default settings may cause the system to under-perform.



The following error(s) will be logged repeatedly in the “scm-server-0.log” and “scm-server-1.log”  logfiles:

ATTENTION: Server side cache reached high water mark. INFO: Server side cache reached high water mark. java.lang.OutOfMemoryError: Java heap space

When trying to launch the SEPM, you get the error “Could not create the Java virtual machine” and the Symantec Endpoint Protection Manager service (semsrv) may or may not start.

Importing an extremely large MAC address list for the LAN Enforcer MAB Authentication results in zero-byte sized Profile.xml


The Symantec Endpoint Protection Manager is a Java-based application, and consequently much of its performance will be related to the size of the “Java Heap”. Modifying the settings that control the size of the Java Heap will improve the performance of a wide variety of the functions performed by the Symantec Endpoint Protection Manager.


Adjust the Java heap space assigned to the SEPM service and consoles.

  1. Stop the Symantec Endpoint Protection Manager service.
    Set the following two registry values:
    HKLMSystemCurrentControlSetServicessemsrvParameters     JVM Option Number 0=-Xms1024m     JVM Option Number 1=-Xmx1024m     JVM Option Number 2=-XX:MinHeapFreeRatio=40     JVM Option Number 3=-XX:MaxHeapFreeRatio=70
    Start the Symantec Endpoint Protection Manager service.
    JVM Options 0 and 1 are the Java minimum and maximum heap sizes for the SEPM. You cannot increase either of these beyond 1024m; if you do, the SEPM service will not start and you cannot login until the value is set back down. This is an inherent limitation of the Java Virtual Machine. For more details on these values, see “Technical Information” below.
  2. Adjust same settings for the local SEPM console; edit the following batch file to reflect the registry values above:
    %ProgramFiles%SymantecSymantec Endpoint Protection Managerbinsesm.bat
  3. To effect the same changes for the SEPM remote Java console, follow the instructions below:
    Go go http://sepm-server-name:9090
    Right-click on the link “Symantec Endpoint Protection Manager… Download & Login” and choose to “Save Target As…” (you may have to download and install Java before you see this link).
    Save the .jnlp file to your desktop, and open with a text editor
    Change the initial-heap-size, max-heap-size, MinHeapFreeRatio, and MaxHeapFreeRatio to match the registry changes above.
    Save your changes, and use the .jnlp file when launching the SEPM remote Java Console.

Note: The additional RAM will be allocated immediately following the service restart. You may see an immediate (but temporary) rise in disk and cpu activity as the page file size is increased. The max size varies from about 1200MB to 1400MB depending on OS and the state of the machine.
Technical Information

The Heap Size for Symantec Endpoint Protection Manager is specified with two values, stored in the registry.
JVM Option 0 specifies the minimum size of the Java Heap JVM Option 1 specifies the maximum size of the Java Heap.
The default value for JVM Option 1 is 256 MB, while the default value for JVM Option 0 was reduced from 256 MB to 64 MB in SEP 11 MR2 to reduce the memory footprint of the application in smaller environments – the application will automatically increase the size of the Java Heap as required until it encounters the configured maximum size.
These values can be increased to better suit the available resources on the computer; performance can be optimized by following the guidelines below:
The Java Heap starting value () must not be larger that the Java Heap maximum value (). If the working size of the Java Heap exceeds the available physical RAM, the computer will begin paging the Java Heap. This will dramatically increase Disk I/O and reduce the overall performance.
Note: Always allow for at least 256 MB to be allocated to the Operating System. For Example: On a computer with 1 GB of RAM, the maximum value for the Java Heap should not exceed 768 MB.

The value of MinHeapFreeRatio and MaxHeapFreeRatio modify garbage collection characteristics (the ratio of free space to live objects within the heap).  The values specified in this document are the defaults for JVM and they provide a good mixture of performance and reliability.

SEPM Performance tuning document.




Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s