HomeCLC FAQ - Basics: Installation, data, system resourcesSystem and resourcesWhy is the Workbench/Server holding onto memory between jobs?

3.5. Why is the Workbench/Server holding onto memory between jobs?

The CLC Workbenches and Servers hold on to very little in-memory data when idle. The actual heap space memory consumption should be less than 100MBs of live data when idle. However, the Java process' memory allocation strategy is left completely up to the Java Virtual Machine (JVM).

The memory consumption seen when the Workbench or Server is not running analyses or other actions is allocated virtual memory address space (which the JVM by default releases only reluctantly, once allocated), not physical memory pages. Thus it should not be a problem that the java process holds onto this memory until it is required elsewhere.


Some further details about memory settings in Workbench and Server products

The normal installation script for the CLC software by default sets this memory allocation to the lower of either 50GB or 50% of the total available memory. These are the values we would generally recommend. The reasoning behind the 50% value is that memory-intensive tasks, for example, de novo assembly and read mappings, are carried out by external binaries that can end up in competition with the java process for the available memory, depending whether other Workbench or Server tasks are also demanding that memory and expecting it to be available.

How to change the Java process' memory allocation for Workbenches can be found in our deployment manual:


How to change the Java process' memory allocation for CLC Server products can be found in Server administration manuals:


Knowledge Tags

This page was: Helpful | Not Helpful