Memory tuning |
Top Previous Next |
Memory issues can cause a variety of problems in MFT Server. They can corrupt files, prevent users from logging in, degrade performance and even cause the system to crash.
Some of these errors can be remedied by simply increasing either the Heap Size or PermGen Space. The heap size is that portion in your server's physical memory that's allocated for an application - in this case, MFT Server. Its main purpose is to prevent a single application from consuming a machine's entire physical memory and, in turn, crashing the system. PermGen space, on the other hand, is where class and method objects are stored.
MFT Server runs on top of the Java Server JVM, as this particular VM (the other one being the Client JVM) is designed for maximum program execution speed. Thus, if you don't specify a maximum heap size, MFT Server will simply operate within the Server JVM's default maximum heap sizes. This value can differ depending on whether you're using a 32-bit JVM or a 64-bit JVM.
On 32-bit JVMs, the default maximum heap size can only run up to 1 GB if there is 4 GB or more of physical memory. If it's lower than 4GB, then the default maximum heap size will be one fourth of that. So, for example:
On 64-bit JVMs, however, the default maximum heap size can go up to 32 GB if there is 128 GB or more of physical memory. Again, if your physical memory is lower than 128GB, then the default maximum heap size will be one fourth of that.
As these are just default maximum values, you can always set a higher or lower maximum heap by specifying those values directly. This can come in handy if you know exactly how much heap memory your particular set up of MFT Server needs or if you encounter heap-related memory errors. See Addressing memory errors.
Identifying Heap Size and PermGen Space memory errors
Heap size-related issues can usually be identified by the presence of 'heap space' in the error, such as:
java.lang.OutOfMemoryError: Java heap space
while PermGen space-related issues can usually be identified by the presence of permgen, such as:
java.lang.OutOfMemoryError: PermGen space
Heap size memory errors are generally more serious than PermGen errors (which can be easily addressed by simply increasing the MaxPermSize value) and are usually caused by spikes in usage (e.g. a large number of file transfers or trigger executions), file transfers involving very large files, or memory leaks.
One way to address these issues is by editing certain parameters in the server.vmoptions file. This file is normally located inside your MFT Server installation directory.
Addressing Heap Size issues:
To address heap size issues, you can try increasing the heap size setting in the server.vmoptions file. This value should be smaller than your total physical memory.
Open your server.vmoptions file and increase the numerical value in the -Xmx line. For example,
Change
-Xmx1024
to
-Xmx2048
You can increase this further but we recommend you just increase it gradually.
You'll need to restart MFT Server for the changes to take effect.
If this doesn't fix the issue, then you might have to increase your physical memory or request assistance from our Tech Support staff, who will troubleshoot the issue for you.
Addressing PermGen Space issues:
To address PermGen issues, you can try increasing the permgen space setting in the server.vmoptions file.
Open your server.vmoptions file and increase the numerical value in the -XX:MaxPermSize line. For example,
Change
-XX:MaxPermSize=256m
to
-XX:MaxPermSize=512m
You can increase this further but we recommend you just increase it gradually.
You'll need to restart MFT Server for the changes to take effect.
Note: The -XX:MaxPermSize parameter is no longer used in Java 8, so setting this parameter will have no effect if you're running MFT Server on that version of Java |