如果创建内核线程时在 /etc/system 中启用了 kmem_stackinfo 变量,将会以特定模式填充内核线程栈,而不是用零填充。在内核线程执行过程中,此内核线程栈模式将被逐步覆盖。从栈顶部开始直到找不到该模式为止,一个简单计数会提供一个高水位值,该值是内核线程使用的最大内核栈空间。该机制允许以下功能:
计算实际为系统中的当前内核线程使用的内核线程栈所占的百分比(高水位)
当某个内核线程结束时,对于最后那些在终止前已使用了其大部分内核线程栈的内核线程,系统会将其记录到一个小的循环内存缓冲区中
无符号整数
0(禁用)
0(禁用)或 1(启用)
是
无
当您希望监视内核线程栈使用情况时。请记住,当启用了 kmem_stackinfo 时,创建和删除 kthreads 时的性能会降低。有关更多信息,请参见Oracle Solaris 模块调试器指南。
此参数必须在全局区域中设置。
不稳定