为什么ulimit-T是一个无效的选项?如何获得可用线程的最大数量



我正试图计算出系统上线程的最大数量。

man ulimit说明:

For the shell command ulimit(), see bash(1).

man bash说:

-T The maximum number of threads

但做ulimit -T给了我:

bash: ulimit: -T: invalid option
ulimit: usage: ulimit [-SHabcdefiklmnpqrstuvxPT] [limit]

什么?!

如本答案所述:

https://stackoverflow.com/a/31878124/11741770

这个选项似乎是其他一些没有在Linux上实现的ulimit选项之一,看起来你是基于问号使用的。它可能在其他*nix平台上可用。ulimit上的内置帮助页面提供了免责声明:

Not all options are available on all platforms.

据我所知,这个选项没有实现的原因似乎是Linux上的限制源于系统的其他属性。如本答案所述:

https://serverfault.com/a/418424

/proc/sys/kernel/threads-max中可以找到Linux系统上的当前限制

线程的最大数量似乎可以通过编辑/proc/sys/kernel/threads-max(在重新启动后无法存活(或通过调整用于导出该数量的参数来更改。

最新更新