为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

largeQ 2021-12-30 20:21:32
我正在寻找超时监控硬件使用情况并且遇到了 OpenGL,因为很多人都说这是一个可能的解决方案。我正在努力寻找有关如何使用 OpenGL 获取 GPU 信息的示例或资源。可以用Java完成吗?如何?或者有其他选择吗?
查看完整描述

2 回答

?
冉冉说

TA贡献1877条经验 获得超1个赞

如果有人想知道如何获得 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;

    }

}


查看完整回答
反对 回复 2021-12-30
?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

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


查看完整回答
反对 回复 2021-12-30
  • 2 回答
  • 0 关注
  • 480 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号