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機器上看到類似的問題,但不幸的是我不記得它是什麼版本。
有沒有人遇到過這樣的事情?
謝謝