I have this multithreaded application that executes tasks when they are sent to it. These tasks are sometimes memory heavy but sometimes not as much.
Either way, I am looking at Java Visual machine on the unix server that the application is running and also on a process level at unix using "top".
I can see on the JVM graph that as soon as the task is completed the heap is freed up, but the allocated memory for the process only grows (that's the RES field in the top command).
What could be the reason for this and what are potential options to fix this?
Many thanks, Gosho