Hi, I am making some test about offheap memory usage and encounter an odd behavior. My taskmanager heap limit is 12288 Mb and when i set "taskmanager.memory.off-hep:true" for every job it allocates 11673 Mb off heap area at most which is heapsize*0.95(value of taskmanager.memory.fraction). But when i submit second job it allocated another 11GB and does not free memory since MaxDirectMemorySize set to -XX:MaxDirectMemorySize=${TM_MAX_OFFHEAP_SIZE}" which is TM_MAX_OFFHEAP_SIZE="8388607T" and my laptop goes to swap then kernel oom killed taskmanager. If i hit perform gc from visualvm between jobs then it release direct memory but memory usage of taskmanager in ps command is still around 20GB(RSS) and 27GB(virtual size) in that case i could submit my test job a few times without oom killed task manager but after 10 submit it killed taskmanager again. I dont understand why jvm memory usage is still high even if all direct memory released. Do you have any idea? Then i set MaxDirectMemorySize to 12 GB in this case it freed direct memory without any explicit gc triggering from visualvm but jvm process memory usage was still high around 20GB(RSS) and 27GB(virtual size). After again maybe 10 submit it killed taskmanager. I think this is a bug and make it imposible to reuse taskmanagers without restarting them in standalone mode.
[image: Inline images 1] [image: Inline images 2]