Linux中一个进程的最大线程数是多少?
错误地说,LINUX没有单独的每个进程线程限制。
LINUX间接实现了每个进程的最大线程数!!
number of threads = total virtual memory / (stack size*1024*1024)
因此,可以通过增加总虚拟内存或减少堆栈大小来增加每个进程的线程数。但是,如果将堆栈大小减小太多,可能会由于堆栈溢出而导致代码失败,而最大虚拟内存等于交换内存。
检查您的机器:
总虚拟内存:ulimit -v
(默认为无限制,因此您需要增加交换内存以增加此值)
总堆栈大小:ulimit -s
(默认为8Mb)
增加这些值的命令:
ulimit -s newvalue ulimit -v newvalue
*用您想要设置为限制的值替换新值。
参考资料:
http://dustycodes.wordpress.com/2012/02/09/increasing-number-of-threads-per-process/