この節では、物理メモリーやスタックサイズに関する一般的なカーネルパラメータについて説明します。
符号なし long
そのシステムで使用できる物理メモリーのページ数。これには、コアカーネルとそのデータが格納されているメモリーは含まれません。
1 からシステムの物理メモリーの総量まで
ページ
いいえ
なし
より少ない物理メモリーで実行したときの影響を調べたい場合。このパラメータに対しては、コアカーネルやそのデータ、その他のさまざまなデータ構造体 (起動処理の初期に割り当て) などのメモリーは考慮されません。したがって、physmem の値は、より小さなメモリー量を表わすよう、想定したページ数より小さくすべきです。
変更の可能性あり
カーネルスレッドが作成されるときに、呼び出しルーチンが使用するサイズを明示的に指定しない場合に使用される、スタックのサイズのデフォルト値。
整数
32 ビットの SPARC や x86 ベースのプラットフォームでは 8192
64 ビットの sun4u プラットフォームでは 16,384
0 から 262,144
バイト。ただし、getpagesize(3C) から返される値の倍数。
はい。変数の変更後、作成されるスレッドに影響があります。
8192 以上 262,144 (256 × 1024) 以下で、かつシステムページサイズの倍数でなければなりません。これらの条件が満たされないと、次のメッセージが表示されます。
Illegal stack size, Using N |
N の値は、上述のデフォルト値です。
スタック容量が足りないためにシステムがパニックになる場合。この問題を解決する最もよい方法は、システムが容量を使い果たす原因を明らかにし、それを修正することです。デフォルトのスタックサイズを増やすと、ほとんどすべてのカーネルスレッドのスタックが大きくなるため、カーネルのメモリー使用量が増加します。増加した容量は一般には使用されず、無駄になります。さらに、カーネルの使用量が増えると、同じメモリープールを使用する他のリソースの容量が少なくなるため、システムの作業を行う能力が低下するおそれがあります。副次的な影響には、カーネルが作成できるスレッドの数が少なくなるということがあります。したがって、この方法は、根本的な原因が解消されるまでの一時的な回避策として使用すべきです。
変更の可能性あり
キューに入れることができる、syseventd デーモンへの配送を待つシステムイベントの最大数。 システムイベントキューのサイズがこの制限に達すると、他のシステムイベントをキューに入れることはできません。
整数
2000
0 から MAXINT
システムイベント
はい
ddi_log_sysevent(9F) と sysevent_post_event(3SYSEVENT) を介してシステムイベントが生成されるたびに sysevent フレームワークはこの値をチェックします。
システムイベントのログ、生成、または送信が失敗したことをエラーログメッセージが示す場合。
変更の可能性あり
利用できるページング可能なカーネルのメモリー量を指定します。このメモリーは主にカーネルスレッドのスタックに使用されます。この値を増やすと、スレッドの数を増やさないのであれば個々のスレッドでより大きなスタックが使用でき、あるいはより多くのスレッドを使用できるようになります。このパラメータは、64 ビットカーネルが動作しているシステムのみで設定できます。64 ビットカーネルが動作しているシステムは、デフォルトで、24K バイトのスタックサイズを使用します。
符号なし long
64 ビットカーネルでは 2G バイト
32 ビットカーネルでは 512M バイト
64 ビットカーネルでは 512M バイトから 24G バイト
32 ビットカーネルでは 512M バイト
8K バイトのページ
いいえ
値が最小値と最大値 (64 ビットシステムの場合は 512M バイトと 24G バイト) と比較され、この範囲にない場合、2G バイトにリセットされ、それを表すメッセージが表示されます。
キャッシュの作成で実際に使用されるサイズは、制約チェックの後で segkpsize に指定されている値か、物理メモリーの 50% のうち、小さい方です。
システムで多数のプロセスをサポートする場合は、このステップが必要です (他のステップも必要)。物理メモリーが 1G バイト以上あると想定すると、デフォルトサイズの 2G バイトで、87,000 以上のカーネルスレッドに対し 24K バイトのスタックを作成できます。64 ビットカーネルのスタックサイズは、プロセスが 32 ビットプロセスでも 64 ビットプロセスでも同じです。これより大きな数が必要な場合は、物理メモリーが十分にあれば segkpsize を増やすことができます。
変更の可能性あり
詳細についてはsegkpsize (Solaris 9 12/02 リリース)を参照してください。