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;
}
}

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
添加回答
举报