SDL WorldServer: Tuning performance of SDL WorldServer 10.4.4. and earlier version by changing the Java max Heap settings

« Go Back


Article TypeSolution Article
Scope/EnvironmentSDL WorldServer 10.4.4. and earlier. The procedure has changed as of 10.4.5.

You notice that SDL WorldServer performance is impacted during peak traffic times, and response or processing times appear longer than normal.

You can adjust the startup parameters to increase the max heap when SDL WorldServer starts. For 32 bit environments, the max heap can be up to approximately 1/3 of the available memory, while for 64-bit environments there is no such restriction. These are the values to allocate 

2 GB: XX:MaxPermSize=256m -Xmx2048m
4 GB: XX:MaxPermSize=256m -Xmx
8 GB: 
XX:MaxPermSize=256m -Xmx8192m

To apply the change, follow these steps:
  1. Stop WorldServer from the services console, namely stop the Idiom Process Monitor.
  2. Open a command-line window on the WorldServer server. The typical WS installation directory is C:\Program Files\Idiom\WorldServer.
  3. Navigate to the \\WorldServer\svc directory.
  4. Back up the idiom.cfg file.
  5. Edit the idiom.cfg file to modify the -Xmx1024m value to the level you need it to be, for example -Xmx2048m. The file contents looks like this:

    Display Name: Idiom-Jakarta
    Command Line: C:\\PROGRA~1\\Idiom\\WORLDS~1\\jre\\bin\\java.exe -server -XX:MaxPermSize=256m -Xmx1024m -XX:+UseConcMarkSweepGC -
XX:+CMSClassUnloadingEnabled  -Djava.endorsed.dirs=C:\PROGRA~1\Idiom\WORLDS~1\tomcat\common\endorsed  -classpath C:\PROGRA~1\Idiom
\tools.jar  -Dcatalina.base=C:\PROGRA~1\Idiom\WORLDS~1\tomcat -Dcatalina.home=C:\PROGRA~1\Idiom\WORLDS~1\tomcat -\FTS_SH~1\temp org.apache.catalina.startup.Bootstrap  start 
;Working Dir:
Retries: 10
  1. From the command line, unconfigure the service: idiomrun -unconfig Idiom-Jakarta
  2. Reconfigure the service to pick up the new value: idiomrun -config idiom.cfg
  3. Restart WorldServer.

You can list the available commands for idiomrun by typing idiomrun -? in the command line.
Also, you can get an idea about your memory usage with debug.jsp. Modify the WorldServer URL to match this URL example: http://[server]:[port]/ws/debug.jsp?secret=[Database User ID] - for example: http://mytestserver:8080/ws/debug.jsp?secret=dbadmin
The information output starts server and memory information:
General Information:
Operating System:Windows 2003 (5.2)
WorldServer Instance ID:439272702
Total Memory:759M
Used Memory:320M
Available Memory:439M
JDK:1.5.0_11 (Sun Microsystems Inc.)
Root Cause
By default, SDL WorldServer's java max heap setting is 1024MB, which is often insufficient to handle a production workload.
Attachment 1 
Attachment 2 
Attachment 3 
Attachment 4 
Attachment 5 

Powered by