You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows任务管理器性能数据获取机制及Intel VPU利用率Python采集咨询

Windows任务管理器性能数据采集原理与Intel VPU利用率采集实现

一、任务管理器性能标签的数据来源与映射逻辑

CPU与内存

  • 数据来源:CPU使用率通过Windows性能计数器(Performance Counters)和NT内核API获取,底层读取内核维护的CPU时间统计数据;内存数据直接调用GetPerformanceInfo等Windows API,读取系统内存管理器的物理/虚拟内存使用统计。
  • 映射逻辑:通过硬件ID和系统设备树,将内核统计的全局/核心级数据关联到任务管理器中显示的CPU(含多核心/线程)、内存条目。

GPU

  • 数据来源:独立显卡(NVIDIA/AMD)通过厂商提供的WMI Provider(如NVIDIA的NVidia_GPU类)或DXGI API采集利用率、显存数据;Intel集成显卡则通过自身图形驱动的性能接口上报数据。
  • 映射逻辑:通过PCIe设备ID匹配系统中的GPU硬件,将厂商驱动返回的性能指标直接映射到任务管理器的GPU条目。

VPU(Intel Vision Processing Unit)

  • 数据来源:依赖Intel图形驱动提供的专用接口,或通过Intel Metrics Discovery Toolkit底层API获取,VPU的负载、使用率等数据由驱动直接上报给系统性能框架。
  • 映射逻辑:通过设备管理器中的VPU硬件ID(如Intel Movidius系列)关联到任务管理器的VPU条目,驱动将VPU的原始性能数据转换为系统可识别的标准指标。

二、Intel VPU利用率采集的Python脚本实现

Intel VPU的采集需依赖官方驱动或工具链,以下是两种可行的实现方式:

方式1:通过WMI接口采集

前置准备

  • 安装支持VPU metrics的Intel Graphics Driver
  • 安装pywin32库:pip install pywin32

脚本示例

import win32com.client
import time

def get_intel_vpu_util():
    try:
        # 连接Intel GPU metrics的WMI命名空间
        wmi = win32com.client.GetObject("winmgmts:\\\\.\\root\\IntelGPUMetrics")
        # 查询VPU利用率实例
        vpu_metrics = wmi.InstancesOf("IntelGPU_VPUUtilization")
        for metric in vpu_metrics:
            # 不同驱动版本属性名可能略有差异,可根据实际调整
            return f"Intel VPU利用率: {metric.CurrentUtilization}%"
    except Exception as e:
        return f"采集失败: {str(e)}"

if __name__ == "__main__":
    while True:
        print(get_intel_vpu_util())
        time.sleep(1)

方式2:调用Intel官方命令行工具

前置准备

  • 安装Intel Metrics Discovery Toolkit,确保metrics-discovery-cli可执行文件在系统PATH中

脚本示例

import subprocess
import time

def get_vpu_util_from_cli():
    try:
        # 调用命令行工具查询VPU利用率
        result = subprocess.run(
            ["metrics-discovery-cli", "--query", "vpu/utilization"],
            capture_output=True,
            text=True,
            check=True
        )
        # 解析输出(需根据工具实际输出格式调整)
        utilization = result.stdout.strip().split(":")[-1].strip()
        return f"Intel VPU利用率: {utilization}"
    except subprocess.CalledProcessError as e:
        return f"命令执行失败: {e.stderr}"
    except FileNotFoundError:
        return "未找到metrics-discovery-cli,请安装Intel Metrics Discovery Toolkit"

if __name__ == "__main__":
    while True:
        print(get_vpu_util_from_cli())
        time.sleep(1)

内容的提问来源于stack exchange,提问作者Arbaz ali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 14:53:24