We are having a memory management issue as Knime executor used by Knime Server is not releasing RAM consumed during workflow execution. After running our nightly workflow sequence, server Knime executor consumes 90% of available memory as per limit defined in knime.ini. The only way i found to make the memory available again is hard kill (end task) the process from task manager, however this would interrupt any workflow if it was running at that time. Does any one have a solution for instantly or regularly purging RAM memory consumed by Knime server and Knime server executor?
This is due to how memory management works in Java applications in general. Once the JVM has requested memory from the operating system (up to the limit set with -Xmx) it won’t be available to the OS for the time the process is running. Even if no workflows are running, the process will still show that the memory is in use.
However, this does not prevent KNIME from using the memory, since it is reserved to be used by KNIME. It is only other applications running on the same machine that can’t use it. Therefore memory usage shown by your OS in the is actually not a good indicator for currently used memory.
I hope this helps to clear up the situation a bit!
This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.