この節では、物理メモリーやスタックサイズに関する一般的なカーネルパラメータについて説明します。
符号なし long
そのシステムで使用できる物理メモリーのページ数。これには、コアカーネルとそのデータが格納されているメモリーは含まれません。
1 からシステムの物理メモリーの総量まで
ページ
いいえ
なし
より少ない物理メモリーで実行したときの影響を調べたい場合。このパラメータに対しては、コアカーネルやそのデータ、その他のさまざまなデータ構造体 (起動処理の初期に割り当て) などのメモリーは考慮されません。したがって、physmem の値は、より小さなメモリー量を表わすよう、想定したページ数より小さくすべきです。
変更の可能性あり
カーネルスレッドが作成されるときに、呼び出しルーチンが使用するサイズを明示的に指定しない場合に使用される、スタックのサイズのデフォルト値。
整数
32 ビットの SPARC や IA ベースのプラットフォームでは 8192、64 ビットの sun4u プラットフォームでは 16,384
0 から 262,144
バイト。ただし、getpagesize(3C) から返される値の倍数。
はい。変数の変更後、作成されるスレッドに影響があります。
8192 以上 262,144 (256 * 1024) 以下で、かつシステムページサイズの倍数でなければなりません。これらの条件が満たされないと、次のメッセージが表示されます。
Illegal stack size, Using N |
N の値は、上述のデフォルト値です。
スタック容量が足りないためにシステムがパニックになる場合。この問題を解決する最もよい方法は、システムが容量を使い果たす原因を明らかにし、それを修正することです。デフォルトのスタックサイズを増やすと、ほとんどすべてのカーネルスレッドのスタックが大きくなるため、カーネルのメモリー使用量が増加します。増加した容量は一般には使用されず、無駄になります。さらに、カーネルの使用量が増えると、同じメモリープールを使用する他のリソースの容量が少なくなるため、システムの作業を行う能力が低下するおそれがあります。副次的な影響には、カーネルが作成できるスレッドの数が少なくなるということがあります。したがって、この方法は、根本的な原因が解消されるまでの一時的な回避策として使用すべきです。
変更の可能性あり