[英]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.