尋找使用 GPU 的進程

尋找使用 GPU 的進程

我主要使用 GPU 進行科學計算。我注意到最近的使用/溫度仍然很高,即使科學暫停了。我強烈懷疑有東西正在使用我的 GPU(顯然,除了我的作業系統)。

但我如何知道哪些應用程式正在使用我的 CPU?

我有一台 NVidia GT240(如果有的話),運行 Windows XP。

答案1

隨著 GPGPU 的出現及其易用性,許多現代程式都希望使用它,包括大多數瀏覽器。

流程瀏覽器SysInternals 是一個方便的工具,用於追蹤各種進程的 GPU 利用率統計資料。表明

GPU Usage
GPU Committed Bytes
GPU System Byes
GPU Dedicated Bytes

這應該是一個開始尋找那些消耗 GPU 的流氓(不是真正的)進程的好地方。

需要在 Process Explorer -> Select Columns 中啟用 GPU 統計資料。

行程資源管理器 GPU 設定

筆記:由於以下原因,這僅適用於 Windows Vista 及更高版本

Microsoft 在 Windows Vista 及更高版本中重新設計了其圖形驅動程式模型,以更好地支援同時運行的多個圖形應用程式。了解此模型對於了解 Windows 上的圖形效能至關重要。首先,作業系統將每個進程中的每個 D3D 裝置與其自己的圖形上下文相關聯。發送到上下文的每個 API 呼叫都會在該上下文的命令清單中進行批次處理。當建立了足夠的命令時,或者出於任何原因 API 認為需要刷新當前命令緩衝區時,D3D API 會將命令緩衝區區分派到圖形核心。這些命令緩衝區不會立即處理,而是儲存在每個上下文的佇列中。顯示卡有一個正在處理的任務隊列。當有空間時,圖形調度程序將定期喚醒,並將來自上下文之一的任務添加到圖形卡工作隊列中,該任務在其上下文特定的命令隊列中。它嘗試以盡可能公平的方式執行此操作,同時避免過度的資源抖動,類似於 CPU 調度程式。 GPUView 將使我們能夠看到所有特定於上下文的 GPU 佇列以及顯示卡佇列的狀態(作為時間的函數)。顯示卡始終在其佇列前面的物件上工作(或如果其佇列為空,則處於空閒狀態。)請注意,GPUView 是專門為此驅動程式模型設計的,並且不會在 Windows XP 上執行。

相關內容