far*_*dve 5 c windows gpu temperature
我有一个温度监控程序,我写了一会儿,监控我的AMD显卡上的温度和风扇,检查风扇故障或过热.它的问题在于,它需要事先知道哪个进程将使用GPU(图形处理单元),以便杀死它或优雅地使其停止以避免过热.
为了使我的程序更具动态性,我需要一种方法来查找哪个进程正在使用GPU,就像哪个进程正在使用CPU时间(任务管理器).一个这样的应用程序是来自SysInternals的Process Explorer.
我在问,我怎么能在Windows中用C做这个?我知道,如果有这样的方式,它将针对Vista及以上.
如果您有 Tesla 板或高端 Quadro 并在 Windows Server 2008 R2 64 位、Windows 7 64 位(或 32/64 位 Linux)上运行,那么您可以使用NVML来执行此操作。
\n\n下载最新的NVML SDK(Tespla部署套件)并看看这两个功能:
\n\nnvmlReturn_t nvmlDeviceGetComputeRunningProcesses (nvmlDevice_t device, \n unsigned int infoCount,\n nvmlProcessInfo_t * infos)\n\nnvmlReturn_t nvmlDeviceGetTemperature (nvmlDevice_t device,\n nvmlTemperatureSensors_t sensorType,\n unsigned int * temp)\nRun Code Online (Sandbox Code Playgroud)\n\n注意:
\n\nnvmlReturn_t nvmlDeviceGetFanSpeed (nvmlDevice_t device, unsigned int * speed)\nRun Code Online (Sandbox Code Playgroud)\n\n它“检索设备\xe2\x80\x99s风扇的预期运行速度”而不是实际风扇速度。所以你不能用它来检查风扇故障。
\n\n我不知道 nvmlDeviceGetComputeRunningProcesses 替代品是否适用于 GeForce 主板,但 Windows NvAPI(也适用于 GeForce)允许查询风扇速度和温度。
\n