2016-11-16 57 views
0

我有一個系統 - 處理器2.8 GHz,20個物理內核,40個邏輯核心,128 GB RAM和4 TB硬盤驅動器。充分利用CPU和內存

場景:

我運行3(獨立)蟒鹼處理/從文件中讀取數據並將其寫入到數據庫腳本(獨立地運行)。他們花費時間,而不使用CPU和內存100%甚至不到40%。

這是爲什麼? (我認爲這取決於操作系統)

如何配置它以更多地利用CPU和內存?

我正在使用Windows 8.1。

回答

0

的處理(包括Python腳本)不會比它運行的線程使用任何更多的內核。所以如果你的python腳本是單線程的,它只會使用一個單一的內核。

此外,磁盤和數據庫操作會阻止進程,同時阻塞I/O和網絡。 (有效的CPU使用情況== 0)。

換句話說,如果您的程序執行大量的I/O操作,那麼您的程序可能不是「cpu bound」。

我不確定你的程序是做什麼的,但是如果手頭的問題可以並行化(分解成多個獨立的任務),那麼它可能會讓自己有更多的線程或進程來利用額外的硬件你有。但它很棘手,很難得到這個權利,並獲得性能增益。