如何使用 OpenGL 监控 Java 中的 GPU 使用情况?

我正在寻找超时监控硬件使用情况并且遇到了 OpenGL,因为很多人都说这是一个可能的解决方案。

我正在努力寻找有关如何使用 OpenGL 获取 GPU 信息的示例或资源。

可以用Java完成吗?如何?

或者有其他选择吗?


largeQ
浏览 481回答 2
2回答

冉冉说

如果有人想知道如何获得 GPU 使用率,我找到了一种使用 nvidia-smi 命令然后读取输出的方法。仅适用于 nvidia gpus tho,您可以更改命令以获取其他信息,例如内存或使用查询命令的任何信息/*** Returns current GPU usage percentage for NVIDIA GPU's*/public static int getGPUUsagePercentage() {    try {        Process process = Runtime.getRuntime().exec("nvidia-smi --query-gpu=utilization.gpu --format=csv");        BufferedReader stdInput = new BufferedReader(new InputStreamReader(process.getInputStream()));        stdInput.readLine();        return Integer.parseInt(stdInput.readLine().replace(" %", ""));    } catch (Exception e) {        e.printStackTrace();        return -1;    }}

扬帆大鱼

OpenGL 主要是与 GPU 无关的 API,因此它没有 GPU 性能特征的确切信息,也不提供某些东西的温度。另一方面,您可以检索一些信息,这些信息可以帮助您更好地了解您正在使用该glGetString函数处理的 GPU 类型。值的组合,GL_VENDOR并且GL_RENDERER是一个平台,是唯一的。对于 Java,任何 OpenGL 包装器都应该是合适的,可能JOGL是最著名的包装器。编辑。虽然这并不常见,但各种供应商提供了您正在寻找的信息。我只能找到有关 GPU 内存的一些见解,但它给其他人带来了希望:http : //nasutechtips.blogspot.com/2011/02/how-to-get-gpu-memory-size-and-usage -in.html
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java