2016-12-07 22 views
0

我使用tensorflow來訓練模型並預測,並在ubuntu上使用htop來監視cpu使用情況。預測很慢,我無法忍受。 htop顯示cpu顏色幾乎是紅色的,這意味着幾乎所有cpu資源都被系統內核線程使用,但在tensorflow啓動之前cpu使用率爲0%。 enter image description here 我沒有改變thread_num,我在ubuntu14.04上使用tensorflow v0.11。htop cpu在運行tensorflow時幾乎是紅色的,預測很慢

+0

也許試着用tcmalloc?這可以提供更高效的內存分配 - http://goog-perftools.sourceforge.net/doc/tcmalloc.html –

+0

我會嘗試一下。有時cpu顏色幾乎是綠色的,但大多數時候顏色幾乎是紅色的。有時在我殺死bazel進程後,cpu顏色再次變得幾乎變成綠色。 – suiyuan2009

+0

@YaroslavBulatov tcmalloc真的有用,謝謝! – suiyuan2009

回答

0

問題是,默認的glibc malloc對小分配無效。另外,因爲Google在內部使用tcmalloc開發/測試tensorflow,所以與普通malloc的不良交互不會被消除。解決方法是用tcmalloc運行TensorFlow。

sudo apt-get install google-perftools 
export LD_PRELOAD="/usr/lib/libtcmalloc.so.4" 
python ...