glibc’s malloc
increases the stacksize of threads depending on the number of cpu cores you have. The JVM might spawn a shitload of threads. That can increase the memory usage outside of the JVMs heap considerably. You could try to run the jvm with tcmalloc (which will replace malloc
calls for the spawned process). Also different JVMs bundle different memory allocators. I think Zulu could also improve the situation out of the box. tcmalloc might still help additionally.
Fli4l is still around?! Crazy. I used that back in 2002 or so to turn an old i386 with 3 ISA HP 100Mbit network cards into a router + fileserver combo. Good times.