IBM Support

Server monitoring Perl script might run out of memory on AIX systems

Technote (FAQ)


Question

The Tivoli Storage Manager Server monitoring script, servermon.pl, might run into an out of memory or segmentation fault condition on AIX systems.

Cause

The 32 bit Perl interpreter, when compiled on AIX, gets only one memory segment for the heap which is 256MB of RAM.
Details: the following applies to the 32bit process model, a 32bit process can address a maximum of 2^32 = 4GB linear memory. This memory is divided up into 16 segments of 256MB each. Per default, the process stack (temporary local storage for process functions) and heap (dynamically allocated memory, also referred to as the data segment) share one segment, meaning they may grow to a maximum of 256MB, if not restricted via the user's ulimits, in the context of which the process is being
executed).

AIX is shipping Perl with this default, this might result in the out of memory condition as reported.


Answer

Before you make the following change to your Perl executable, make sure to take a backup copy and store it in a safe place. Then you can tweak your Perl executable with the following command (e.g. if you are running Perl 5.8.8):

ldedit -b maxdata:0x90000000/dsa /usr/opt/perl5/bin/perl5.8.8

This allows the Perl executable to use more than one segment.

Alternatively you can invoke the perl64 executable which does not have this limitation.

Related information

Server monitoring script

Document information

More support for: Tivoli Storage Manager
Server

Software version: All Supported Versions

Operating system(s): AIX

Reference #: 1675155

Modified date: 15 May 2017


Translate this page: