PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : GPU Auslastung sowie Vram usage in Java erfassen


Geldmann3
2019-10-10, 17:01:09
Hallo, ich arbeite gerade an einem kleinen Java-Projekt und benötige dafür die aktuelle GPU-Auslastung sowie Vram-Nutzung der Grafikkarte. Es hat sich bei meiner bisherigen Recherche herausgestellt, dass ich mit Java wohl nicht ohne Umwege an diese Informationen herankomme. Daher sieht es fast so aus als benötige ich einen Workaround.

Könnt ihr mir eine Methode empfehlen die aktuelle GPU-Auslastung sowie Vram-Nutzung zu ermitteln? Ich müsste sie etwa einmal sekundlich erfassen.

Zur Not würde ich es eben mit irgendetwas in ein File schreiben und im Anschluss wieder auslesen, wobei das natürlich die hässlichste Lösung wäre.

Danke!

konkretor
2019-10-10, 21:07:22
glaube sau schweres thema

https://stackoverflow.com/questions/25552/get-os-level-system-information


https://stackoverflow.com/questions/22628157/jogl-monitor-gpu-memory

Geldmann3
2019-10-10, 21:17:00
Tatsächlich habe ich bereits Lösungen für alle möglichen Hardware-Infos, nur die GPU-Daten scheinen mir relativ schwer zugreifbar zu sein.

Was mir Hoffnung gibt ist, dass der Windows Taskmanager ja auch die GPU-Last anzeigen kann. Wenn MS das nur irgendwie über eine API zur Verfügung stellen würde.

Ich konnte bisher aber auch keine Bibliothek finden, die das für Nvidia, AMD und Intel hin bekommt. Dabei brauche ich nur das, was im Taskmanager angezeigt wird...

Oder gibt es eventuell eine Art Taskmanager für die Kommandozeile, die mir entsprechende Daten wegschreiben kann?

PatkIllA
2019-10-10, 21:25:03
Die API heißt Performance Counters.

https://www.javaworld.com/article/2073044/access-windows-performance-monitor-counters-from-java--part-1.html

Geldmann3
2019-10-10, 21:46:45
Auf die Schnelle sehe ich dort allerdings keine Möglichkeit Informationen zur GPU zur erhalten, wie sie der Taskmanager anzeigt.

PatkIllA
2019-10-10, 23:36:57
Da kriegst du noch weit mehr. Der Task Manager wird das auch verwenden.
Um das in Java zu benutzen musst du notfalls mit JNI Ran.

Geldmann3
2019-10-10, 23:43:28
Danke erstmal, gibt es irgendwo Dokumentation mit welchen API-Calls ich die GPU-Infos abfragen kann?

Denn ich weiß nicht wie ich jetzt am besten ansetzen würde. Mein Gedanke ist, ich schaue mir erstmal an, welche API-Calls ich durchführen muss und im Anschluss beschäftige ich mich damit, wie ich das am Besten mit meinem Java-Programm aufrufe.