Terms
Let me first define the terms:
- Physical memory: primary storage (RAM).
- (Process usage) memory: primary storage (RAM) and secondary storage (disk space).
- (Process usage) freeing memory: making some memory available for other processes.
- (Process usage) address space: a term that is as easy to understand as quantum mechanics and arguably less useful.
You can pretty much ignore (process usage) address space, unless you are using a 32-bit operating system. In that case you should consider upgrading to a 64-bit operating system.
Log file messages
They mean this:
You have 32GB of RAM, but FME is going to use up to a maximum of 96 GB of combined RAM and disk space.
FME determines the maximum memory to use by multiplying the amount of RAM by 3.
Controlling memory Do you really want to control memory or do you want your FME processes to run as best as they can? It may be that you need more RAM or some improvements in the workspace! Maybe you've heard of a mysterious FME directive with unlimited power and imagine that is exactly what you need...
FME_ENGINE_MEMORY_REDLINE is a value between 0 and 1. It was intended to have the following meanings:
- 0.0 = FME will try use only secondary storage (disk space) for it’s data.
- 0.5 = FME will do the right thing in most cases. This is the default setting. Let us know if you are having to change it. We don’t want you to have to change this. Did I mention we want this to just work for you? Do you need more RAM? What is causing you to try change this? We want to hear from you.
- 1.0 = FME will try use only primary storage (RAM) for it’s data.
Well it seems FME 64-Bit is killing it's brothers without some tweak to it's memory consumption behaviour. see: article: parameter-to-set-maximum-memory-usage-for-64bit
I had the same problem as described in the above mentioned discussion