Hello everyone!
We are currently building a workflow using FME Server to process relatively large data sets in an automated fashion. We are going to run multiple workspaces in parallel.
When we run the workspaces with large reader datasets (600000+ features) on our Windows Server 2012 based FME 2016.1.1 Servers we have observed that the engine thread will consume all memory on the system - and then Windows will start swapping memory to the page file with bad performance as a result.
We don't observe the same memory hogging problem on FME Desktop - here the memory usages remains with in a more proportionate size to the physical memory available.
That has led to some questions:
1) How can we best determine why the workspace is using so much memory?
2) How can we verify that this is “correct” behavior – and not eg. a memory leak?
3) How can we start to optimize the performance of the workspace – both in terms of modifying the workspace or modifying how it’s run on the server?
4) Does FME Server interpret settings from the workspace header, eg. FME_ENGINE_MEMORY_REDLINE and FME_PROFILE_RESULT_CSV
5) Is it a bug in FME Server that the engine is started with only a single “-“ for the “`-FME_ENGINE_MEMORY_REDLINE' `0.5'” argument? (All other commandline arguments start with “--" – that is what the log file shows ?
6) How should FME_ENGINE_MEMORY_REDLINE be configured on a FME server with 4 engines or possible more engines?
7) We see some strange behavior in the log files on the two FME servers regarding the memory limits - whats going on?:
Server A:
2016-08-29 15:46:20| 0.2| 0.0|INFORM|FME Configuration: Process limits are 32.00 GB of physical memory and 128.00 TB of address space
2016-08-29 15:46:20| 0.2| 0.0|INFORM|FME Configuration: Start freeing memory when process usage exceeds 96.00 GB of memory or 128.00 TB of address space
2016-08-29 15:46:20| 0.2| 0.0|INFORM|FME Configuration: Stop freeing memory when process usage is below 72.00 GB of memory and 96.00 TB of address space
Server B:
8) 33 INFORM 0.0 0.2 Today at 10:45:23 FME Configuration: Process limits are 8.00 GB of physical memory and 128.00 TB of address space
34 INFORM 0.0 0.2 Today at 10:45:23 FME Configuration: Start freeing memory when process usage exceeds 39.74 MB of memory or 128.00 TB of address space
35 INFORM 0.0 0.2 Today at 10:45:23 FME Configuration: Stop freeing memory when process usage is below 38.15 MB of memory and 96.00 TB of address space
Thanks a lot! Let me know if you need more information or something doesn't makes sense :)