获取GPU温度NODEJS

6

我正在尝试使用NodeJS获取GPU温度。

我在npm上找到了一个叫做“systeminformation”的包,但无法从中获取GPU温度。

如果没有相应的包/模块,我想知道如何在NodeJS中实现此功能。


也许这可以帮到你?https://dev59.com/YI7ea4cB1Zd3GeqPD6IY - secondbreakfast
@zero01alpha,我不相信这个软件包可以监测与GPU相关的温度或任何其他实时数据。 - Monstrum
1个回答

10

目前没有包含C/C++子模块用于检查GPU温度的Node.js软件包,但您可以使用CLI进行此操作。

优点和缺点:

  • 简单易用
  • 只需要了解您的操作系统的CLI命令
  • 性能可能会较慢
  • 也许需要用sudo运行您的应用程序

对于Ubuntu,CLI命令如下:

nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader

任何CLI命令的执行都是异步操作,因此需要使用回调函数、Promise或生成器。我更喜欢使用async/await方法。

以下是8.9.x Node.js的async/await示例:

const { exec } = require('child_process');
const { promisify } = require('util');
const execAsync = promisify(exec);
const gpuTempeturyCommand = 'nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader'; // change it for your OS

async function getGPUTemperature() {
  try {
    const result = await execAsync(gpuTempeturyCommand);
    return result.stdout;
  } catch (error) {
    console.log('Error during getting GPU temperature');
    return 'unknown';
  }
}

是的,我发现我可以以那种方式做到,但我不确定如何在AMD GPU上实现。 - Josip Reh
我没有AMD GPU,所以无法帮助您使用CLI命令。对我来说,这看起来像是另一个问题。总的来说,您对建议的方法满意吗?它解决了您的问题吗? - galkin
Windows兼容性如何? - Monstrum
这取决于Windows版本和显卡型号。你能在你的机器上尝试使用 aticonfig --odgc --odgt 命令行接口吗? - galkin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接