Skip to content
You are reading the Teku development version documentation and some features may not be available in the stable release. You can switch to the stable version using the version box at the bottom of the screen.

Updated on January 12, 2021

Managing memory

Manage Teku’s Java Virtual Machine (JVM) memory usage by setting a maximum heap size using the JAVA_OPTS environment variable.

We recommend setting the maximum heap size to at least 3GB if you have less than 8GB of RAM, or if you have more RAM, but want to free up memory for other processes. This results in an approximate process size of 5GB (on Linux).

If you have more than 8GB of RAM, we recommend setting the maximum heap size to 5GB or more.

Set the heap size using the environment variable, or using the command line when starting Teku.

export JAVA_OPTS=-Xmx3g
JAVA_OPTS=-Xmx3g ./teku [options]

Note

The node uses more RAM to perform better if it’s available, especially during periods of non-finalization.

Manage the heap dump

If an out of memory error occurs, the heap dump file is placed in the directory that Teku runs from. The heap dump file is potentially large (1-2GB), to specify the directory to place the file, set the -XX:HeapDumpPath Java option to the required path.

export TEKU_OPTS="-XX:HeapDumpPath=/home/me/me_node/dumps"
TEKU_OPTS="-XX:HeapDumpPath=/home/me/me_node/dumps" ./teku [options]

To disable the heap dump file generation, set the -XX:-HeapDumpOnOutOfMemoryError Java option.

export TEKU_OPTS="-XX:-HeapDumpOnOutOfMemoryError"
TEKU_OPTS="-XX:-HeapDumpOnOutOfMemoryError" ./teku [options]
Questions or feedback? You can discuss issues and obtain free support on Teku Discord channel.
For paid professional support by Consensys, contact us at quorum@consensys.net