Oracle® Solaris 11.2 可调参数参考手册

退出打印视图

更新时间: 2014 年 12 月
 
 

lwp_default_stksize

说明

指定在创建内核线程时,当调用例程没有提供要使用的明确大小时,要使用的栈大小的缺省值。您指定的任何栈大小都按一页 redzone 增长。

数据类型

整型

缺省值
  • 缺省的 SPARC 栈大小为 3 页 (3 x 8,192 = 24,576) + 8 KB redzone

  • 缺省的 x64 栈大小为 5 页 (5 x 4,096 = 20,480) + 4 KB redzone

范围

最小值为缺省值:

  • 在 SPARC 系统上为 3 x PAGESIZE

  • 在 x64 系统上为 5 x PAGESIZE

最大值为缺省值的 32 倍。

单位

getpagesize 参数返回的值的倍数字节。有关更多信息,请参见 getpagesize(3C)

动态?

是。影响在变量更改后创建的线程。

验证

必须大于或等于 8192 且小于或等于 262,144 (256 x 1024)。还必须是系统页大小的倍数。如果不满足这些条件,将显示以下消息:

Illegal stack size, Using N

N 的值是 lwp_default_stksize 的缺省值。

何时更改

当系统因为用完栈空间而崩溃时。此问题的最佳解决方法是确定系统为何用完空间,然后进行纠正。

增大缺省栈大小意味着几乎每个内核线程都将具有更大的栈,从而导致内核内存消耗增加却没有合理原因。一般情况下,该空间将处于未使用状态。消耗增加意味着争用同一内存池的其他资源的可用空间将减少,从而可能降低系统执行工作的能力。其中一个负面影响是内核可以创建的线程数将减少。此解决方法只能作为在纠正根本原因之前采取的临时解决方法。

交付级别

不稳定