Build: Set MALLOC_ARENA_MAX for test processes to reduce memory overhead

The glibc default number of memory pools on 64bit systems is 8 times the
number of CPU cores. Choosing a value MALLOC_ARENA_MAX is generally a
tradeoff between performance and memory consumption. Not setting
MALLOC_ARENA_MAX gives the best performance, but may mean higher memory
use. Setting MALLOC_ARENA_MAX to “2” or “1” makes glibc use fewer
memory pools and potentially less memory, but this may reduce
performance.

 #KTI-1609
This commit is contained in:
Vyacheslav Gerasimov
2024-03-19 11:04:57 +01:00
committed by Space Team
parent d31201e05f
commit ec621137a2
@@ -203,6 +203,13 @@ fun Project.projectTest(
dependsOn(":test-instrumenter:jar")
}
// The glibc default number of memory pools on 64bit systems is 8 times the number of CPU cores
// Choosing a value MALLOC_ARENA_MAX is generally a tradeoff between performance and memory consumption.
// Not setting MALLOC_ARENA_MAX gives the best performance, but may mean higher memory use.
// Setting MALLOC_ARENA_MAX to “2” or “1” makes glibc use fewer memory pools and potentially less memory,
// but this may reduce performance.
environment("MALLOC_ARENA_MAX", "2")
jvmArgs(
"-ea",
"-XX:+HeapDumpOnOutOfMemoryError",