Keyword search: 

Increase Memory Allocation

8/26/2010 3:11 PM
You can subscribe to this wiki article using an RSS feed reader.

Problem:

Users that need to replicate a very large number of files per directory or have a setup of multiple and frequent jobs should consider changing the default memory allocation for FRP.  Symptoms that can result from too little memory assigned to FRP processes are:  Excessive time to complete jobs causing FRP to run beyond the scheduled window for the job,  unexplained job aborts,  FRP services stop responding to the job schedule.



Solution:

FRP memory consumption is highly effected by several factors. Some those factors are:
  • The number of files that exist in a directory subject to replication IE: 10,000 or more.

  • A large number of path lengths in excess of 128 char.

  • The number of jobs being run in total and in parallel.

  • Compression

  • Encryption

  • CRC checking

  • Real Time Replication

It should also be obvious that if you are restricted in how much memory you can assign to FRP, reducing the use of the items above will reduce FRP's need for memory.

Any of these issues or a combination of them can cause FRP to suffer from insufficient memory, therefore it is highly recommended to change the default memory usage. This is necessary only for the FRP Replication Service and not for the other two services: FRP Management and FRP Helper.

During installation, the FRP replication service is configured to use a maximum of 512MB.  FRP is very efficient and does not require massive amounts of memory to accomplish a great deal of work.  In most cases with only a few jobs and not too many other memory consuming demands, FRP does not need additional memory.   The threshold for increasing memory to 1024MB or 2048MB (or something else) is very individual to your environment and the demands you place on FRP.  As you can see from this process it is not difficult to make this change and you can reverse it just as easily. 

Our examples below for each OS assume a modern machine with plenty of ram 4 GB or more.  An example is provided for increasing FRP usage to 1GB, the exact change you will need to insert is highlighted in Green.  In rare cases you may need to use even more memory such as 50+ jobs and or servers use more memory. To use more memory you can multiply 1024m to get more ram  IE  1024 x 3 = 3072  which is 3GB of Ram. For those situations such as on Netware and MAC the Xmx1024M string needs to be multiplied in the same fashion.

To give you some idea of the impact of this change, we have seen Neworks of 50 or more servers replicating very nicely on scheduled jobs with 1GB of ram assigned to FRP.  We have also seen systems with 80 to 150 jobs running well with 2 to 3GB of ram assigned.  Remember extras such as encryption, compression, real time etc. will add to these requirements also.


----------------------------------------------------
For Windows, Unix and Linux servers:

Perform the following steps on both the SOURCE and DESTINATION replication servers:

This example demonstrates the setting to increase to 1GB of ram (from the default 512MB)

(1) Stop the FRP Replication Service.
(2) Using Notepad or any text editor, edit the file FRPRep.lax located in FRP home directory.
(3) Find the following line to and edit it to:

lax.nl.java.option.java.heap.size.max=1024m

(4) Save the file and exit the text editor.
(5) Restart the FRP Replication Service
----------------------------------------------------

For Netware Servers:

Perform the following steps on both the SOURCE and DESTINATION replication servers:

(1) Stop the FRP Replication Service.
(2) Using Notepad or any text editor, edit the file edit FRPRep.ncf   located in FRP home directory.
(3) Add the following line to the end of file:

java -Xmx1024M

or

java -Xmx1G

On netware systems the syntax has been improved to permit the use of M for megabytes and G or gigabytes.

Or Edit the Xmx parameter for any other desired value

(4) Save the file and exit the text editor.
(5) Restart the FRP Replication Service

--------------------------------------------------

For a Mac Server:


Perform the following steps on both the SOURCE and DESTINATION replication servers:

(1) Stop the FRP Replication Service.

(2)Go to the FRP installation directory on the Mac and, right mouse click on executable, 'FRPRep'

(3)Choose  'Show package content' a new window will be opened.

Go to 'Contents' folder and double click on 'Info.plist' file.
The file will be opened in the editor, scroll down to
'Java->Properties' section,

(4)You will create/edit new entry as shown below highlighted in Green and on older versions of FRP you will modify the -Xmx250M string to 1024.  On newer versions of FRP you will add the <string>-Xmx1024M</string>  if it is missing.   Of course if you wish to allocate more memory than 1024MB (1GB) you can increase the size accordingly such 2048M to allocate 2 GB.

PLEASE Note that on earlier versions of FRP the <string>Djava.library.path=lib</string>  will not exist and you DO NOT need to add it.  If it exists, leave it as is.

You will make the following <string> insertion in the Info.plist file in the VMOptions section which is located at the bottom of the Info.plist file.  Just add a new string items as shown below.  Remember that older systems will not have (or need) the <string>Djava.library.path=lib</string>  string.

  <key>VMOptions</key>
                        <array>
                        <string>-Xms2M</string>
                        <string>-Xmx1024M</string>
                        <string>Djava.library.path=lib</string>
                       </array>

(5) Save the file and exit the text editor.
(6) Restart the FRP Replication Service

--------------------------------------------------

Yitzi 5-31-09
memory error replication fail
Tags:
Home: Knowledge Base Index What's new: Recently changed articles