The amount of dynamic memory allocated to the Java Virtual Machine / Java Runtime Environment is insufficient. Dynamic memory allocation (also known as heap-based memory allocation) is the allocation of memory storage for use in a computer program during the runtime of that program. It can be seen also as a way of distributing ownership of limited memory resources among many pieces of data and code. Dynamically allocated memory exists until it is released either explicitly by the programmer, or by the Garbage Collector (GC):
- Garbage Collection (GC) is a type of automatic memory management. - Its purpose is to reclaim garbage that is memory occupied by objects that are no longer in use by a program. - It deallocates memory used by objects at runtime automaticallly by using various algorithms to assess the reachability and life cycle of an object. - The basic principles of garbage collection are: 1) Find data objects in a program that cannot be accessed in the future 2) Reclaim the resources used by those object
This issue is often corrected by upgrading to the latest-available release of SEP.
It may also be necessary to increase the amount of heap-memory allocated to the Java Runtime Environment associated with Symantec Endpoint Protection Manager :
1. Stop the Symantec Endpoint Protection Manager service in services.msc console
2. The Symantec Endpoint Protection Manager service has its own java runtime environment parameters which can be edited in the registry :
Change "JVM Option Number 0" and "JVM Option Number 1" in registry key HKLM\System\CurrentControlSet\Services\semsrv\Parameters\
- Recommended value = 512MB (supposing Total Physical RAM installed >= 2GB)
JVM Option Number 0 =
JVM Option Number 1 =
3. Change corresponding entries in the file %programfiles%\symantec\symantec endpoint protection manager\bin\sesm.bat to reflect the same values:
SESM.BAT will start the SEPM console with specific runtime parameters for the Java Virtual Machine shipped with SEPM installation files.