Endpoint Application Control uses Java Virtual Machine (JVM) applications. Using JVMs adds some processor and memory overhead. In most cases, the JVMs self-manage their settings, memory, and performance overhead.
Sometimes, just-in-time (JIT) compilation and "garbage collection" (GC) can cause JVM processor overhead to become especially high. For Endpoint Application Control consider the following:
JIT compilation can take from a few minutes to several hours, depending on environment and processor load.
GC continues for the lifetime of each process. If the JVM application is low on allocated memory, GC tasks run more frequently, consuming additional processor overhead.
Ideally, memory allocation should balance memory use and GC processing. High JVM processor overhead caused by GC can be corrected by increasing the allocated memory for the application. Processor overhead should not average more than two percent per minute after all JIT compilation is completed. To determine the JVM overhead, use the Server Summary widget and a process explorer application.
The Server Summary widget reports only the processor and memory used by Endpoint Application Control not including JVM overhead. Short peaks of processor use may not be displayed by the widget. Decide if JVM settings need adjustment by comparing the Server Summary widget reports to process explorer reports. See Server Summary Widget.
Memory Use Source |
Description |
RAM Used |
---|---|---|
HEAP |
Memory directly used by an application |
Server processes: Maximum 256 MB |
Data store processes: Minimum 512 MB Maximum 25% of available RAM |
||
Thread stacks |
Memory used for process threads |
256 KB per live thread Typically, 20 - 60 MB |
Direct memory |
Memory for buffers or to share data with operating system APIs |
Typically, 5 - 30 MB |
Java and JIT-compiled code |
Memory for application libraries |
Typically, 60 - 120 MB |
Native code |
Memory for shared libraries |
Highly variable Because this memory use is shared across all processes, it depends on the specifics of those processes. |
Other |
Memory overhead per process |
Typically, 100 - 150 MB |