Solaris カーネルのチューンアップ・リファレンスマニュアル

lwp_default_stksize

説明

カーネルスレッドが作成されるときに、呼び出しルーチンが使用するサイズを明示的に指定しない場合に使用される、スタックのサイズのデフォルト値。

データ型

整数

デフォルト

32 ビットの SPARC や IA ベースのプラットフォームでは 8192

64 ビットの sun4u プラットフォームでは 16,384

範囲

0 から 262,144

単位

バイト。ただし、getpagesize(3C) から返される値の倍数。

動的か

はい。変数の変更後、作成されるスレッドに影響があります。

検査

8192 以上 262,144 (256 × 1024) 以下で、かつシステムページサイズの倍数でなければなりません。これらの条件が満たされないと、次のメッセージが表示されます。


Illegal stack size, Using N

N の値は、上述のデフォルト値です。

どのような場合に変更するか

スタック容量が足りないためにシステムがパニックになる場合。この問題を解決する最もよい方法は、システムが容量を使い果たす原因を明らかにし、それを修正することです。デフォルトのスタックサイズを増やすと、ほとんどすべてのカーネルスレッドのスタックが大きくなるため、カーネルのメモリー使用量が増加します。増加した容量は一般には使用されず、無駄になります。さらに、カーネルの使用量が増えると、同じメモリープールを使用する他のリソースの容量が少なくなるため、システムの作業を行う能力が低下するおそれがあります。副次的な影響には、カーネルが作成できるスレッドの数が少なくなるということがあります。したがって、この方法は、根本的な原因が解消されるまでの一時的な回避策として使用すべきです。

コミットレベル

変更の可能性あり