根据这个stackoverflow 帖子,Mac OS X 10.6 对 JVM 或任何应用程序可以创建的线程数有限制。可以通过在终端中运行以下命令来显示限制:
sysctl kern.num_threads
和
sysctl kern.num_taskthreads
systctl有可能在 Linux 上覆盖这些值,但在 OS X 上则不行。根据这个手册页,这些字段是不可更改的。
所以我的问题是,在 OS X 10.6 上,是否有另一种方法可以覆盖可以创建多少线程的限制?
根据这个stackoverflow 帖子,Mac OS X 10.6 对 JVM 或任何应用程序可以创建的线程数有限制。可以通过在终端中运行以下命令来显示限制:
sysctl kern.num_threads
和
sysctl kern.num_taskthreads
systctl有可能在 Linux 上覆盖这些值,但在 OS X 上则不行。根据这个手册页,这些字段是不可更改的。
所以我的问题是,在 OS X 10.6 上,是否有另一种方法可以覆盖可以创建多少线程的限制?
您也许可以使用 64 位内核和大量内存来增加限制。请参阅了解进程限制(这大约是 10.6 服务器)。我不知道另一种方式。
在 ubuntu 12.10 中使用这个 cmd
sysctl -A | grep thread
如果你达到这个限制,也许你应该考虑改变你的设计。你有几个核心?该限制通常设置在已确定系统不会表现得特别好的水平。