IBM Support

On Solaris systems, multithreaded maps that use a lot of memory have poor performance

Troubleshooting


Problem

On a Solaris system, a multithreaded map that uses a lot of memory has poor performance.

Cause

WebSphere Transformation Extender uses mtmalloc to allocate dynamic memory. The mtmalloc memory allocation is designed to improve the performance of multithreaded maps.

On Solaris systems, mtmalloc uses more memory than single-threaded malloc. If the higher memory usage causes memory paging, performance can drop dramatically.

Resolving The Problem

Before you use the Launcher or the Command Server to run the map, disable multithreaded memory allocation. The LD_PRELOAD environment variable in the bin/envsetup script sets multithreaded memory allocation. The WTX setup script (. ./setup) invokes the bin/envsetup script.

To disable multithreaded memory allocation for the duration of the current shell, invoke the following command:

unset LD_PRELOAD

Multithreaded memory allocation is enabled again the next time you log in and source the WTX setup script.

To permanently remove multithreaded memory allocation, comment out the environment variable in the bin/envsetup script:

# export LD_PRELOAD=libmtmalloc.so:${LD_PRELOAD}

[{"Product":{"code":"SSVSD8","label":"IBM Transformation Extender"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"Not Applicable","Platform":[{"code":"PF027","label":"Solaris"}],"Version":"8.4.0.2;8.4.0.1;8.4.0.0;8.3.0.4;8.3.0.3;8.3.0.2;8.3.0.1;8.3.0.0","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

Document Information

Modified date:
16 June 2018

UID

swg21594844