Solaris 可调参数参考手册

default_stksize

说明

指定所有线程的缺省栈大小。无法创建任何栈大小小于 default_stksize 的线程。如果设置了 default_stksize,则会覆盖 lwp_default_stksize。另请参见lwp_default_stksize

数据类型

整数

缺省值
  • 在 SPARC 系统上,为 PAGESIZE 的 3 倍

  • 在 x86 系统上,为 PAGESIZE 的 2 倍

  • 在 AMD64 系统上,为 PAGESIZE 的 5 倍

范围

最小值为缺省值:

  • 在 SPARC 系统上,为 PAGESIZE 的 3 倍

  • 在 x86 系统上,为 PAGESIZE 的 2 倍

  • 在 AMD64 系统上,为 PAGESIZE 的 5 倍

最大值为缺省值的 32 倍。

单位

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

是否为动态

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

验证

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


Illegal stack size, Using N

Ndefault_stksize 的缺省值。

何时更改

系统由于用完栈空间而发出警告音时。此问题的最佳解决方案是确定系统用完空间的原因,然后再进行更正。

增大缺省栈大小意味着几乎每个内核线程都将具有更大的栈,从而导致无故增加内核内存消耗。通常不会使用增加的空间。消耗增加意味着争用同一内存池的其他资源具有的可用空间量将减少,从而可能会降低系统执行操作的能力。其中一个负面影响是内核可创建的线程数减少。在找出根本原因并解决问题之前,只应将此解决方案作为一种临时解决方法。

承诺级别

不稳定