For FME Server, you can try increasing the maximum memory assigned for each component in the processMonitorConfigCore.txt file, located in <FMEServer>\Server\.
Specifically it's the -Xmx parameter. For example, find the -Xmx2048m buried in this part of the config file that allocates the maximum memory for the FME Server Core! (~Lines 265-7)
# Start FME Server Core
START_SYSTEM_Core="C:/Program Files/FMEServer/Utilities/jre/bin/FMEServer.exe" -FMESERVER_CLASSPATH "C:/Program Files/FMEServer/Server/lib/*;C:/Program Files/FMEServer/Server/lib/fmeutil/*;C:/Program Files/FMEServer/Utilities/jdbc/*" -Djava.library.path="C:/Program Files/FMEServer/Server/lib/fmeutil" -Djava.security.manager -Djava.security.policy="C:/Program Files/FMEServer/Server/security/fmeserver.policy" -Djava.security.auth.login.config="C:/Program Files/FMEServer/Server/security/fmeserver.config" -Djava.net.preferIPv4Stack=true -Xms32m -Xmx2048m -Xrs COM.safe.fmeserver.FMEServer "C:/Program Files/FMEServer/Server/fmeServerConfig.txt" -MONITOR_PORT 0
STOP_SYSTEM_Core="C:/Program Files/FMEServer/Utilities/jre/bin/FMEServer.exe" -FMESERVER_CLASSPATH "C:/Program Files/FMEServer/Server/lib/*;C:/Program Files/FMEServer/Server/lib/fmeutil/*;C:/Program Files/FMEServer/Utilities/jdbc/*" -Djava.net.preferIPv4Stack=true -Xrs COM.safe.fmeserver.FMEServerShutdownAgent -fmeServerHost localhost -fmeServerAdminPort 7071
*Note that FME Server will need to be restarted for changes to take effect and you must also add the line NODE_OVERWRITE=true to the top of this config file for changes to be accepted!
Edit: My answer is for FME Server,.. *for FME Desktop*, please see
Performance Tuning FME ("Controlling How FME Engine Consumes Memory" at the bottom).
I got what I needed for a certain job by running a workbench from the GUI w/ these env settings:
The Java Virtual Machine has customized initial heap size '1024M' (-Xms1024M)
The Java Virtual Machine has customized maximum heap size '16384M' (-Xmx16384M)
However, the job seems to fail when run in cmd. Thoughts on a quick fix?
I got what I needed for a certain job by running a workbench from the GUI w/ these env settings:
The Java Virtual Machine has customized initial heap size '1024M' (-Xms1024M)
The Java Virtual Machine has customized maximum heap size '16384M' (-Xmx16384M)
However, the job seems to fail when run in cmd. Thoughts on a quick fix?
Does the log file when run from commandline reflect the FME_JVM_MAX_HEAP_SIZE / FME_JVM_MIN_HEAP_SIZE environment variable settings? Without knowing the situation my gut is that the command line engine isn't getting the right values.