簡體   English   中英

多個CPU的Python多處理?

[英]python multiprocessing with multiple cpus?

我在MOBO上有兩個Xeon處理器(每個處理器有8個內核,因此共有32個線程),並且我使用multiprocessing.Pool(processors = 30)運行了一個簡單的代碼。 當我使用htop進行監視時,發現只使用了12個線程。 有誰知道為什么會這樣?

當一個新的請求提交給Pool時, Pool()可以為用戶調用提供指定數量的進程,如果Pool不滿,則創建一個新的進程來執行請求; 但是,如果池中的進程數已達到指定的最大值,則請求將等待,直到池中有一個進程可以創建新進程。
對於支持多線程的模型,建議的線程數至少為1:1。 5.這允許某些線程執行IO。
而且,如果您的進程沒有使用完整的內核,那么它​​將不會占用另一個內核。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM