繁体   English   中英

在Debian上用完线程

[英]Running Out of Threads on Debian

我有一个程序在我的debian机器上创建指定数量的活动线程。 当我尝试创建超过100的任何内容时,如果达到操作系统限制,并且机器不接受任何传入连接,并且执行命令时,我收到一条错误消息:“创建线程出错”,并且得到“ -bash:fork:无法分配内存” 。 查看最上面的命令,我看到任务在32564处超负荷运行,并且只有20%的RAM被利用。 我尝试将ulimit -a&-n编辑为500000,将-s编辑为81920,但仍然不执行任何操作。 任何帮助是极大的赞赏/。

根据我自己的经验,使用线程来提高CPU绑定进程的性能的一个好的经验法则是使用相等数量的线程作为核心,但在超线程系统的情况下,这种情况应该使用两倍的线程。核心。 可以得出的另一条经验法则是针对I / O绑定的进程。 此规则是将每个内核的线程数增加四倍,除了超线程系统的情况外,然后可以将每个内核的线程数增加四倍。 因此,您可能无论如何都不应该创建100个线程。 只要做到“足够”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM