2015-04-14 41 views
0

我用python 2.7寫了一個科學的模擬環境。Python多處理在幾個linux發行版上表現不同

我直接使用流程接口開始我的模擬在同一時間的幾個實例:

for i in range(nr_cores): 
    p = Process(target=worker, args=(i, nr_cores, scheduler, job, nr_iter, return_values, extremes, parameters,)) 
    processes.append(p) 
    p.start() 

for process in processes: 
    process.join() 

這完美地適用於

  • 我的Fedora 21的機器上運行的Python 2.7.8(內核3.19.3)
  • 我OSX機器上運行的Python 2.7.6

現在我試圖使用python在Debian 7.8(內核63年2月3日)的機器上安裝2.7.3 和奇怪的事情開始發生:

  • 在最前面的進程數比我其實什麼更大spawn(14而不是2)
  • 這14箇中只有兩個正在運行,其餘正在睡眠
  • 這兩個正在運行的進程共享一個內核。其他內核空閒

我下載並編譯了python 2.7.9,但行爲完全一樣。

我記得在另一個debian機器上看到類似的問題,但不幸的是我不記得它是什麼版本。

有沒有人遇到過這樣的事情?

謝謝

回答

相關問題