Understanding memory settings

Java process memory limits

Most CLC Server work is done via its java process. The default memory limit for the java process is set according to the following rules:

The default limit should suit most circumstances. However, there are cases where it may not, for example, where particular queues are designated for low overheads tasks, such as import jobs and trimming jobs, and for high overhead tasks, such as de novo assemblies or read mappings. In such cases, a memory limit can be explicitly configured for each grid preset6.1. This is described in Configure grid presets.

External binaries

Some tools use external binaries for one or more computational phases. These include, but are not limited to, those with a de novo assembly or mapping phases and those involving BLAST tools. Memory usage by external binaries is not restricted by limits set for the java process. For this reason, we recommend caution if you plan to submit jobs of these types to nodes that are being used simultaneously for other work.


Footnotes

... preset6.1
Directly specifying memory limits in a clcgridworker.vmoptions file using -Xmx options is not recommended. Such settings override those described on this page.