
Windows 7 32 位,最新,Intel i7 860。
我的機器出現了與多線程相關的效能問題(或者我認為是這樣)。
舉個例子(我最常看到它,但它也出現在其他程式中):ProteoWizard 是質譜文件的文件轉換工具。我可以添加文件列表,它將嘗試並行處理最多 8 個文件(四核 x 2 線程/核心)。如果我選擇 1 到 6 個文件,我就會啟動該過程並直接完成。如果佇列中有 >=7 個文件,轉換率會達到約 20%,然後卡住 15 秒,然後再次繼續,總是以幾個 % 的「區塊」的形式再次卡住。
在進程卡住期間,CPU 為 1%。 RAM 沒有限制,可能只有 70% 左右,而且不會上升。
我在其他甚至速度較慢的機器上沒有遇到同樣的問題。
在其他情況下,電腦也會卡在 1% CPU 上而不執行任何操作,但對於多執行緒來說,這是最常見的。
我該去哪裡找問題呢?
顯示問題的系統資訊螢幕截圖 http://i.minus.com/ibtjBN8RCsl7UV.png
編輯:請參閱 Process Explorer 中的螢幕截圖;一切都沒有極限。 CPU 是平坦的,RAM 恆定在例如 60%,I/O 是平坦的,GPU 是平坦的,網路是平坦的,磁碟是平坦的。您可以清楚地看到該過程運行到什麼程度以及在哪裡停止。起初,8 個執行緒中的 2 個繼續工作,然後它們也消失了。
答案1
我懷疑您的機器有特定的衝突。
我發現您知道 Sysinternals 工具。嘗試進程監視器。讓它運行並請求 > 7 隊列。記下口吃的次數。查看 procmon 日誌,尤其是開啟格式錯誤的路徑的檔案或網路。有些超時最終會釋放,但會阻塞整個系統。