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}
Was this topic helpful?
Document Information
Modified date:
16 June 2018
UID
swg21594844