Solaris Tunable Parameters Reference Manual

lwp_default_stksize

Description

Default value of size of stack to be used when a kernel thread is created, and the calling routine does not provide an explicit size to be used.

Data Type

Integer

Default

8192 for all 32-bit SPARC and IA based platforms

16,384 for 64-bit sun4u platforms

Range

0 to 262,144

Units

Bytes in multiples of the value returned by getpagesize(3C).

Dynamic?

Yes. Affects threads created after the variable is changed.

Validation

Must be greater than or equal to 8192 and less than or equal to 262,144 (256 x 1024) and must be a multiple of the system page size. If these conditions are not met, the following message is displayed:


Illegal stack size, Using N

The value of N is the default described above.

When to Change

When the system panics because it has run out of stack space. The best solution for this problem is to determine why the system is running out of space and make a correction. Increasing the default stack size means that almost every kernel thread will have a larger stack, resulting in increased kernel memory consumption for no good reason, because that space will generally be unused. The increased consumption means that other resources competing for the same pool of memory will have the amount of space available to them reduced, possibly decreasing the system's ability to perform work. Among the side effects will be a reduction in the number of threads which the kernel can create. This solution should be treated as no more than an interim workaround until the root cause is remedied.

Commitment Level

Unstable