本文に進む 日本−日本語
日本HPホーム 製品とサービス お客様サポート/ ダウンロード ソリューション ご購入の方法
≫ お問い合わせ
詳細検索オプション
日本HPホーム
HP-UX リファレンス: セクション 5 : その他の機能 > m

maxssiz(5)

カーネル調整パラメータ
HP-UX 11i Version 2: September 2004
≫ 

テクニカル ドキュメント

PDF版
フィードバック
ここから本文が始まります

 ≫ 目次

 ≫ 索引

名称

maxssiz, maxssiz_64bit ― すべてのユーザープロセスのスタックの最大サイズ (バイト数)

デフォルト

32 ビットのデフォルト: 0x800000 (8MB)

64 ビットのデフォルト: 0x10000000 (256MB)

設定可能な値

32 ビットの最小値: 0x40000

32 ビットの最大値: 0x17F00000

64 ビットの最小値: 0x40000

64 ビットの最大値: 0x80000000

説明

HP-UX システム上のユーザープログラムは、仮想メモリーの 5 つの独立したセグメント (テキスト (またはコード)、データ、スタック、共有、および I/O) で構成されます。 各セグメントは、そのサイズの上限を設定する仮想アドレス空間の範囲 (アーキテクチャによって定義される) を占有しますが、テキスト、データ、およびスタックのセグメントの最大サイズは、調整パラメータ maxtsizmaxdsiz、 および maxssiz を使用して小さな値に設定することもできます。

maxssiz および maxssiz_64bit は、32 ビットおよび 64 ビットプロセスのスタックセグメントの最大サイズを定義します。スタックセグメントには、実際のプログラムスタックと、プロセスまたはスレッドのコンテキストスイッチに関するレジスタのための記憶スペースが含まれます。

この調整パラメータの変更を行う対象ユーザー

すべてのユーザー。

変更に関する制限事項

この調整パラメータの変更は、変更後に起動したプロセスでのみ有効になります。また、スタックセグメントの rlimit を変更するプロセスは、変更された制限をすべての子プロセスに伝播するため、その後で maxssiz を修正しても影響を受けません。

この調整パラメータの値を大きくする場合

maxssiz の値を増やす必要があるのは、ユーザープロセスが以下のコンソールエラーメッセージを生成している場合です。

Warning: maxssiz value too small.

このエラーメッセージを生成しているプロセスは、おそらくセグメンテーション違反エラー SIGSEGV で終了し、コアダンプを作成します。

この調整パラメータの値を大きくした場合の影響

この調整パラメータの値を増やすことで、すべてのプロセスでより大きなスタックセグメントを使用できるようになります。つまり、 maxdsiz および maxssiz は、各プロセスが予約または使用できるスワップスペースのサイズに対する制限として機能します。したがって、仮想アドレス空間の使用量が増えても、仮想ページはスワップアウト可能なため、物理アドレス空間の使用量の増加に直接つながることはありません。

マシン上のスワップスペースがほぼ一杯である場合は、この調整パラメータの値を増やすと、1 プロセスあたりの予約可能スワップサイズが大きくなります。 これにより、メモリーリークが存在するプロセスや、大量のメモリーを使用するように記述されたプロセスが許容されるため、より多くのスワップが予約され、システム上のスワップスペースが使い果たされる可能性があります。

32 ビットのユーザープロセスでは、データおよびスタックの位置は隣接している点を理解することも重要です。 スタックセグメントのために予約される仮想アドレス空間の量が増えるということは、データセグメントのための仮想アドレス空間の量が減ることを意味します。つまり、 maxssiz の値を増やすと、これまで使用可能だったデータ領域のすべて (または、ほとんどすべて) を使用するユーザープロセスが、 ENOMEM エラーで割り当てに失敗する可能性があります。これは、 maxdsiz が、このプロセスがデータのために割り当てた現在のメモリーサイズより大きい値に設定されている場合でも同様です。

Itanium ベース システムでは、 On Itanium-based systems, raising the value of maxssiz_64bit を値を大きくすると、 大きなスタックスペースに使用されるカーネルのデータ構造体が大きくなります。 それによって、余分なスワップスペースが必要となり、使用可能なスワップスペースが 不足して、パフォーマンスの低下やアプリケーションの失敗が起きる可能性があります。

最大のスタックサイズを必要とするアプリケーションを起動するスクリプトを使用して、 影響を最小限に抑えることができます。 このスクリプトでは、 maxssiz_64bit の値を大きくし、 アプリケーションを起動し、その後 maxssiz_64bit の値を元の値に戻します。 こうすることによって、特定のアプリケーションではスタックサイズを大きくし、 他のアプリケーションでは、余分なスタックサイズを使用しないようにすることができます。

この調整パラメータの値を小さくする場合

この調整パラメータの値を減らす必要があるのは、システムのスワップスペースが少なく、かつ一部の記述が不完全なプログラムや悪意のあるプログラムがスワップスペースを使用して、より重要なユーザープロセスに悪影響を与える場合です。 たとえば、大学で数名の学生が製品レベルに達していないコードを実行し、至るところでメモリーリークを発生させるような場合が該当します。

この調整パラメータの値を小さくした場合の影響

この調整パラメータの値を減らすと、1 プロセスあたりのスタックに使用できるメモリーが制限されます。このため、スタックに多くのメモリーを必要とするプロセスが、 SIGSEGV エラーで終了する原因となる可能性があります。

同時に変更する必要がある他の調整パラメータ

maxdsiz はプロセスのデータセグメントによってスワップの使用量を制限する類似機能を実行するため、このパラメータについても考慮する必要があります。

警告

HP-UX のカーネル調整パラメータはすべて、リリースごとに異なります。このパラメータは、HP-UX の今後のリリースにおいて、削除されたり機能が変更される可能性があります。

HP 社または他のベンダーのカーネルソフトウェアをインストールすると、 カーネル調整パラメータが変更されることがあり、その場合、 インストール後に、カーネル調整パラメータがデフォルト値でも推奨値でも ない値に設定されていることがあります。 カーネル調整パラメータの値への影響については、 インストールするカーネルソフトウェアのドキュメントを参照してください。 工場インストールされたカーネルソフトウェアについては、 http://docs.hp.com/ja の 『『HP-UX リリースノート』』 を参照してください。

著者

maxssiz は、HP で開発されました。

参照

maxdsiz(5)、maxtsiz(5)

印刷用画面へ
プライバシー 本サイト利用時の合意事項
© 1983-2004 Hewlett-Packard Development Company, L.P.