You are viewing limited content. For full access, please sign in.

Discussion

Discussion

Feature Request - Workflow Memory Limitation

posted on February 6, 2020

I really really need a memory limitation option for Workflow so that I can have stable workflow servers. It wants to put everything that it might ever possible reference in memory. It is as if every bit it ever touches goes into memory and never comes out. Eventually it even steals memory away form the OS which causes a crash.

It often takes 2 years for this to happen on servers with extra memory, but it's still difficult to explain to IT, NO their server does not need unlimited memory to run Workflow, its just that workflow is infinitely greedy.

I mean I know it is being greedy and taking more than it requires to operate because I can watch it grow well into the GBs and then restart the service where it suddenly decides that it only need a few hundred MB to handle whatever is currently going on. Then it takes months or years to climb back into the GB range. That must mean it is storing data in memory that has not been touched in months or years, which is crazy since memory, being expensive, is only allocated for active working data. Sure you can cache some, but not everything. Otherwise why have hard disks at all?

It really doesn't matter though as long as I can give it an upper limit that is < the total amount of memory available to the OS, this way it does not shut down the OS.

replied on February 6, 2020

Please don't repost multiple threads on the same topic. As indicated in the other threads, we will help you investigate the memory leak if there is one. We currently do not have any known issues for memory leaks in Workflow 10.4. Depending on custom activities and scripts, it is still possible there may be one. Again, if you have an issue, Tech Support will help track it down.

If it is intermitent and not easily reproducible, then you can use performance counters in Windows to monitor it and alert when it reaches a certain threshold and we can look into it.

Limiting the memory used by the server is not possible and likely would result in performance issues. Memory management is handled by .Net and resources are deallocated as they age out. Memory usage also depends on the work happening in the server. It is normal for a newly restarted server to have a low memory usage.

You are not allowed to follow up in this post.