運行運算密集型應用程式服務 CPU 使用率非常高

運行運算密集型應用程式服務 CPU 使用率非常高

當我的計算密集型影像處理應用程式(在 Windows 8.1 HP 筆記型電腦上)運行時,CPU 按預期運行超過 100%,但同時服務 CPU 使用率上升到超過 50%(非常意外)並且服務列出使用大量CPU 的內容根本沒有意義。

我的計算密集型影像處理應用程序,首先從相機中獲取數千幀視訊數據,然後對數據進行影像處理。在抓取幀期間,會在幀進入時對幀進行一些預計算(直方圖、最小/最大等),但大部分的處理是在之後完成。抓取大約需要 10 秒,計算需要 13-20 秒。我使用 OMP 和 Visual Studio 2013 進行所有計算,以分發到筆記型電腦上的所有 8 個 CPU。

以下是資源監視器顯示的內容:

資源監視器視圖

當我替換計算密集型功能時,SleepCPU 下降到接近 0,服務 CPU 也下降到接近 0,因此不是 OMP、線程、信號量等導致服務 CPU 仍然很高。

我的問題是:

  1. 為什麼服務 CPU 會因為我的執行緒正在計算某些內容而變高?

  2. 為什麼「DigitalPersona Aut..」、「Win.. Defendeer..」、「Win.. Phone..」、「IP Helper」等服務會涉及繁重的計算任務。

  3. 是否有 50% 的 CPU 浪費在 Needs Services 任務?

任何人對此有任何想法或知識。

答案1

您可以嘗試使用以下工具檢查這些服務正在做什麼 流程瀏覽器,儘管這需要一些 Windows API 的知識。

您也可以透過停用某些服務來開始減少問題:

  • 如果您不使用指紋掃描器登錄,則可以停用 DigitalPersona 服務。如果您安裝了 HP SimplePass,則可以將其解除安裝。

  • IpOverUsbSvc 服務通常由 Windows SDK 安裝。如果您不使用電腦打電話,則可以將其停用。

不過,我可以理解當電腦非常活躍時,Defender 會更加活躍,因為它正在追蹤發生的一切。您也許可以為該程式所在的資料夾建立一個例外,也許這會稍微平靜下來。

相關內容