IBM Support

調査用PerlスクリプトがAIXシステムでout of memoryになる

技術情報(FAQs)


質問

Tivoli Storage Managerサーバー用モニタースクリプト、servermon.pl、あるいは再編成情報収集スクリプト serverReorgInfo.pl をAIXシステムで実行時、out of memory または segmentation fault になることがあります。

原因

AIXでコンパイルされた32bitのPerlインタープリターは、ヒープ用に1つのメモリーセグメント(256MB)のみ使用するためです。

32bitプロセスモデルでは、最大2^32=4GBのメモリーにアクセスできます。これは、1つが256MBで、最大16個のセグメントに分けられています。デフォルトではプロセススタック(プロセス機能用の一時的なローカルストレージ)とヒープ(動的に割り当てられるメモリー)は1つのセグメントを共有しています。ユーザー用ulimitで制限されていない場合、これらの使用量が256MBに達することがあります。

AIXはこの設定のPerlを出荷しております。


回答

以下の変更を行う前に、バックアップを取得するようにしてください。

その後、Perl実行環境に以下の調整を行ってください。これは、Perl5.8.8を使用している場合の例です。


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

この結果、Perl実行環境が1つ以上のセグメントを使用するようになります。

この設定変更を行う代わりに、この制限がない、perl64を使用することもできます。

関連情報

オリジナルドキュメント
サーバー用モニタースクリプト
再編成情報収集スクリプト

Document information

More support for: Tivoli Storage Manager
Server

Software version: All Supported Versions

Operating system(s): AIX

Reference #: 2015576

Modified date: 07 June 2018


Translate this page: