簡體   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