この付録には、特定のパラメータの変更履歴を記載します。また、元の機能がすでに削除されているパラメータもリストされています。
符号付き整数
M バイト単位のメモリー量と 1024 の小さい方
1 から 2048
/etc/system には、1024 より大きい値を指定する必要があります。2048 より大きい値が提供されると、計算では 2048 の値を使用しますが、その後の処理では、指定された値に設定されます。
ユーザー
いいえ。この変数に依存する変数を計算した後に maxusers が再び参照されることはありません。
なし
システムが計算したデフォルトのユーザープロセス数では足りない場合。プロセス数が足りないと、次のメッセージがシステムコンソールやメッセージファイルに出力されます。
out of processes |
変更の可能性あり
システム上に作成できるプロセスの最大数。これには、システムプロセスとユーザープロセスが含まれます。Solaris 8 より前のリリースでは、この値は計算によって算出され、maxuprc の設定に使用されていました。
さらに、この値は、他のシステムデータ構造体のサイズを決める際にも使用されます。Solaris 8 より前のリリースでは、/etc/system に値が指定されていると、計算された値の代わりにこの値が使用されます。この変数が使用される他のデータ構造体は次のとおりです。
ディレクトリ名ルックアップキャッシュのサイズを決めるとき (ncsize が指定されていない場合)
UFS のディスク割り当て構造体を割り当てるとき (ndquot が指定されていない場合)
構成されたシステム V セマフォによって使用されるメモリーの総量がシステム限度を超えていないか確認するとき
sun4d、sun4m、Intel プラットフォーム向けのハードウェアアドレス変換のリソースを構成するとき
符号付き整数
10 + (16 × maxusers)
266 から pidmax の値
いいえ。初期のパラメータ計算の後に、max_nprocs は v 構造体の v_proc 要素に代入されます。動作しているシステムの v.v_proc を変更すると、ほぼ確実に、システムがクラッシュするか、エラー表示のないままデータが損傷を受けます。
maxpid と比較し、それより大きい場合は、maxpid に設定されます。sun4d と Intel プラットフォームでは、さらにプラットフォーム固有の値と比較されます。max_nprocs は、max_nprocs、maxpid、プラットフォーム値のうち最も小さい値に設定されます。両プラットフォームとも、プラットフォーム値として 65,534 を使用します。
Solaris 8 リリースから、この値を変更することで 1 つのシステムで 30,000 を超えるプロセスをサポートできるようになりました。このパラメータの変更は、一つのシステムで 30,000 を越えるプロセスを可能にするために必要となる手順の 1 つです。
変更の可能性あり
Solaris 2.6 カーネルパッチの一部のリビジョン (SPARC プラットフォームの 105181-10 および Intel プラットフォームの 105182-09) と Solaris 7 リリースで、新しいパラメータが導入されました。priority_paging (優先ページング) です。ページアウトスレッド活動の新しい開始点 (cachefree) も使用されます。使用可能なメモリーが cachefree と lotsfree の間にある間は、実行可能部分 (テキスト、スタック、またはデータ) からのページである場合は、優先ページングはそのページをスキップするようページ検査のアルゴリズムを変更します。メモリーが lotsfree を下回ると、すべてのページが同等にみなされます。この機能はデフォルトで無効になっています。この機能を有効にするには、cachefree に lotsfree より大きい値を設定するか、priority_paging 変数にゼロ以外の値を設定します (cachefree に lotsfree の 2 倍の値が設定されます)。
優先ページング機能を有効にします。設定すると、cachefree に lotsfree の 2 倍の値が設定され、優先ページングが有効になります。
符号付き整数
0
0 (cachefree が別途設定されていない場合、優先ページングを無効にする) か 1 (有効にする)
切り替え (オン/オフ)
いいえ。cachefree の値はブート時にのみ設定します。実行時に有効にするには、システムの動作中に adb で cachefree を設定します。
なし
システムのメモリーが逼迫している場合、およびファイルの内容が将来必要であるような入出力を極めて多く行う場合を除き、常に有効にしておくべきです。
廃止または互換性がなくなる可能性あり
cachefree に lotsfree より大きい値を設定すると、優先ページング機能が有効になります。この変数は、少なくともパッチ 105181 のリビジョン 10 がインストールされた Solaris 2.6 リリース、および Solaris 7 リリースが動作するシステムで使用できます。この機能は、デフォルトでは無効になっています (cachefree と lotsfree が等しい)。
符号なし long
priority_paging が設定されていない場合は、lotsfree の値です。設定されている場合は、cachefree は lotsfree の 2 倍です。
lotsfree からシステムの物理メモリー量
ページ
はい
lotsfree より小さいと、lotsfree の値にリセットされます。
システムのメモリーが逼迫している場合、およびファイルの内容が将来必要であるような入出力を極めて多く行う場合を除き、常に有効にしておくべきです。
廃止または互換性がなくなる可能性あり
Solaris 2.6 リリースで導入されたもので、スタックを実行不能と印付けすることができます。これにより、バッファオーバーフロー攻撃が前よりも困難になります。
Solaris 2.6 リリースでは、この値はスレッド化されたアプリケーションには適用されません。すべての 64 ビットの Solaris アプリケーションでは、この変数の設定に関係なく、すべてのスタックが実行不能にされます。
この変数は Solaris 2.6、7、または 8 リリースが動作しているすべてのシステムに存在しますが、sun4u、sun4m、sun4d アーキテクチャでのみ有効です。
符号付き整数
0 (無効)
0 (無効)、1 (有効)
切り替え (オン/オフ)
はい。ただし、すでに実行中のプロセスに対しては無効です。値が設定された後に起動されたプロセスに対してのみ有効です。
なし
アプリケーションが、mprotect(2) を使用してスタックを実行可能にすることなくスタックに実行可能コードを意図的に置いている場合を除き、この変数は常に有効にすべきです。
変更の可能性あり
1 つのプロセスがオープンできるファイル記述子数の「弱い」限度。プロセスは、自身のファイル記述子数限度を、rlim_fd_max で定義される「強い」限度の範囲内で調整できます。それには、setrlimit() 呼び出しを使用するか、プロセスを実行するシェルで limit コマンドを実行します。「強い」限度の範囲内で値を調整する場合には、スーパーユーザー特権は必要ありません。
符号付き整数
64
1 から MAXINT
ファイル記述子
いいえ。rlimits 構造体にロードされます。
rlim_fd_max と比較され、rlim_fd_cur の方が大きい場合は、rlim_fd_cur は rlim_fd_max にリセットされます。
1 プロセス当たりのデフォルトのオープンファイル数が十分でない場合。この値を増やす意味は、プログラムで setrlimit(2) を使用して自身で利用できる最大ファイル記述子数を増やす必要がなくなる点にあります。
変更の可能性あり
利用できるページング可能なカーネルのメモリー量を指定します。このメモリーは主にカーネルスレッドのスタックに使用されます。この値を増やすと、スレッドの数を増やさないのであれば個々のスレッドでより大きなスタックが使用でき、あるいはより多くのスレッドを使用できるようになります。このパラメータは 64 ビットカーネルでのみ設定できます。64 ビットカーネルは、デフォルトでスタックサイズに 24K バイトを使用します。
このパラメータは、パッチ 106541-04 が適用された Solaris 7 リリースか、Solaris 7 5/99 リリース、および Solaris 8 リリースで使用できます。
符号なし long
64 ビットカーネルでは 2G バイト
32 ビットカーネルでは 512M バイト
64 ビットカーネルでは 512M バイトから 24G バイト
32 ビットカーネルでは 512M バイト
M バイト
いいえ
なし
スレッドを増やしたい場合
変更の可能性あり
再構成ブートで作成する /dev/pts (telnet や rlogin でネットワークログインに使用される仮想端末デバイス) エントリの数。このパラメータにより、ネットワークを介して同時にログインできるユーザー数が、pt_cnt の値に制限されます。追加のデバイスノードを作成するためには、/etc/system ファイルを変更した後で再構成ブート (boot -r) を行う必要があります。
符号付き整数
48
0 から maxpid
ログイン / ウィンドウ
いいえ
なし。値が過度に大きすぎると、システムがハングします。
必要な数のユーザーがシステムにログインできない場合
変更の可能性あり
SHARE_MMU フラグを設定して接続された System V Shared Memory の共有メモリー Translation Setaside Buffer (TSB) 機能を有効にします。このパラメータは、パッチ 105181-05 以降がインストールされた Solaris 2.6 リリースで利用できます。Solaris 7 リリースからはこのパラメータ名は削除されましたが、システムはデフォルトでこの機能を実装します。
符号付き整数
0
0 (無効)、1 (有効)
いいえ
なし
SHARE_MMU フラグを設定して接続された System V Shared Memory を使用する場合に有効にする
変更の可能性あり
この節では、機能はすでに削除されているが、互換性の理由でまだ残されているパラメータについて記述します。これらのパラメータを設定しても無視されます。
システムがメッセージバッファ用の空間の制御に使用する断片のサイズを指定します。Solaris 8 リリースから廃止されています。
符号付き整数
40
0 から MAXINT
いいえ。msginfo 構造体の msgtql フィールドにロードされます。
メッセージやキューのために作成されるデータ構造体が最大数存在する場合に消費される空間と、モジュールがロードされるときの使用可能なカーネルメモリーの 25% を比較します。使用される空間があまりに大きいと、メッセージキューモジュールはロードを拒否し、この機能は利用できません。この計算には、メッセージに消費される空間も含まれます。この状態は、モジュールが最初にロードされるときだけ起こります。
デフォルト値では不十分な場合。一般には、ソフトウェアベンダーからの推奨がある場合に変更します。
廃止または互換性がなくなる可能性あり
符号付き整数
100
0 から MAXINT
いいえ
メッセージやキューのために作成されるデータ構造体が最大数存在する場合に消費される空間と、モジュールがロードされるときの使用可能なカーネルメモリーの 25% を比較します。使用される空間があまりに大きいと、メッセージキューモジュールはロードを拒否し、この機能は利用できません。この計算には、メッセージに消費される空間も含まれます。この状態は、モジュールが最初にロードされるときだけ起こります。
デフォルト値では不十分な場合。一般には、ソフトウェアベンダーからの推奨がある場合に変更します。
廃止または互換性がなくなる可能性あり
使用可能なメッセージメモリーのプールとしてシステムが使用する msginfo_msgssz セグメントの数。メッセージに使用できる合計のメモリーは msginfo_msgseg * msginfo_msgssz です。Solaris 8 リリースで廃止されています。
符号付き short
1024
0 から 32,767
いいえ
メッセージやキューのために作成されるデータ構造体が最大数存在する場合に消費される空間と、モジュールがロードされるときの使用可能なカーネルメモリーの 25% を比較します。使用される空間があまりに大きいと、メッセージキューモジュールはロードを拒否し、この機能は利用できません。この計算には、メッセージに消費される空間も含まれます。この状態は、モジュールが最初にロードされるときだけ起こります。
デフォルト値では不十分な場合。一般には、ソフトウェアベンダーからの推奨がある場合に変更します。
廃止または互換性がなくなる可能性あり
廃止。変数は互換性の理由でカーネルに残されていますが、使用されません。