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:

 

If your physical memory is 512 MB, then the default maximum heap size will be 128 MB
If your physical memory is 4GB, then the default maximum heap size will be 1GB
If your physical memory is 8GB, then the default maximum heap size will still be 1GB

 

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.

 

Addressing memory errors

 

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





Home | Company | Products | Solutions | Purchase | Support | Services | Blog

© 2021 Advanced Systems Concepts, Inc.