Grafikkarten Grundlagenartikel Praxis Testberichte

Trick 17: Freien Grafikkartenspeicher exakt reduzieren – ohne Systemlast und Treiberprobleme | Tutorial

Ich gebe es zu, in einer Zeit, wo alle nach immer mehr dediziertem Speicher auf der Grafikkarte schreien, ist das Anliegen dieses heutigen Tutorials für viele eher unverständlich. Allerdings sicher nur auf den ersten Blick. Denn das alles löst sehr elegant ein Problem, vor dem man zwar (zugegeben) sehr selten aber eben doch schon mal stehen könnte und für das es sogar im Bereich der schier endlosen Google-Suche auch keine auf Anhieb praktikable Lösung gibt.

Denn egal, ob eine ältere Anwendung streikt, weil der allokierbare bzw. freie Speicher die Obergrenze dessen überschreitet, was das Programm verarbeiten kann (man erinnere sich an die Grenzen der 32-Bit-Programme) oder weil man einfach mal testen möchte, ab wann der freie Speicher unter Umständen nicht mehr reichen könnte und welche Fehlerbilder dabei ausgelöst werden – ich stand jetzt selbst vor diesem Problem und brauchte eine praktikable Lösung, die weder System- noch Grafikkartenlast erzeugt und trotzdem Speicher sauber blockt.

Für mich war der Lösungsansatz an Ende sicher einfach, denn ich habe mir einfach ein kleines OpenCL-Programm geschrieben, das genau dies tut: Speicher allokieren, also quasi blockieren und für den Zugriff durch andere Programme schützen. Denn DirectX und die Speicherverwaltung sind auch nicht zimperlich, wenn es darum geht, im Grafikkarten-Speicher enthaltene Inhalte um- und auszulagern, wenn das betreffende Programm im Hintergrund dümpelt. Allerdings ist dies alles (schon aus Haftungsgründen) nur Bestandteil meiner eigenen Werkzeugsammlung und nichts für den Download-Bereich. Aber der Lösungsansatz ist an sich ja simpel und so geht mein Dank auch an meinen Kollegen Yannick Guerrini, der mir als Ersatz ein gängiges Tool empfahl, das man geschickt zweckentfremden und genau für diese Zwecke nutzen kann.

Blocken und Lahmlegen – Wir brauchen nur zwei kostenlose Tools

Das allokieren können wir auch geschickt mit memtestCL (Download) erledigen lassen. Dieses etwas ältere Freeware-Tool der Stanford University steht auch als Quellcode auf Github und es tut exakt, was wir möchten.  Allerdings gibt es hier die Einschränkung, dass die Vorgabe des zu testenden Speichers kleiner als 4 GB sein muss. Hier kann man sich behelfen, indem man einfach zwei Instanzen (oder noch mehr) startet und sich deutlich mehr Speicher abknappst. Die Kommandozeilen-Parameter sind simpel und wer möchte, schreibt sich einfach eine Batch-Datei (oder mehrere mit verschiedenen Größenvorgaben). Wer mehr als einen Grafikadapter im Rechner hat (z.B. eine CPU mit iGP), wählt die gewünschte Grafikkarte.

Der Aufruf ist simpel und die optionale Batch-Datei ist es auch. Wenn man z.B. 2 GB allokieren möchte, dann startet man das ganz einfach als memtestCL 2048 – einfacher geht es fast nicht. Standardmäßig sind 50 Iterationen eingestellt, so dass genügend Zeit bleibt, um das Programm dann mit dem zweiten Tool zu stoppen. Hierfür benötigen wir dann den Process Explorer (Download) von Sysinternals. Den kann man dann einfach so starten. Wie die einzelnen Schritte nun ablaufen, zeige ich Euch gleich.

Praxisbeispiel: wir blockieren 4 GB mit memtestCL

Zunächst die Ausgangssituation: Bis auf etwas Fenster-Geraffel ist der Grafikspeicher fast leer.

Doch das lässt sich leicht ändern! Starten wir nun memtestCL mit der gewünschten Speichergröße und dann den Process Explorer. Dort lassen wir alphabetisch absteigend die gerade laufenden Prozesse auflisten (z.B. in der Tabellenüberschrift auf “Process” klicken) und suchen den Eintrag zu memtestCL.exe.

Wir markieren diese Zeile und klicken dann mit der Rechten Maustaste auf den Eintrag. Es erscheint ein Popup-Menü, bei dem wir die Funktion “suspend” (Anhalten/Aussetzen) auswählen.

Jetzt ist das Programm faktisch im Ruhemodus und verursacht auch keinerlei Prozessorlast mehr. Der Speicher ist jedoch sicher blockiert und steht der Grafikkarte nicht mehr zur Verfügung. Ganz Clevere können das auch mit den Afterburner-Overlay testen, wo plötzlich die Speicherbelegung um den zuvor gewählten Betrag gestiegen ist.

Aber man kann es auch einfach über die Ressourcenanzeige des Windows Task-Managers betrachten und prüfen. Das Ergebnis ist das gleiche.

Wer möchte und / oder Speicher ab 4 GB allokieren möchte, der startet noch eine zweite Instanz mit der nun noch zusätzlich gewünschten, weiteren Speichergröße.

Und auch hier bitte nicht den Suspend-Mode vergessen (siehe oben)!

Das Ergebnis ist eindeutig und kann wieder direkt im Task-Manager überprüft werden. Ich hatte in diesem Fall einfach zweimal 2 GB blockiert.

Wozu ich das jetzt gebraucht habe, das lest Ihr in Kürze. wenn es um Grafikkartentests zu einem gewissen neuen Produkt geht. Lasst Euch mal überraschen!

 

Danke für die Spende



Du fandest, der Beitrag war interessant und möchtest uns unterstützen? Klasse!

Hier erfährst Du, wie: Hier spenden.

Hier kann Du per PayPal spenden.

Igor Wallossek

Chefredakteur und Namensgeber von igor'sLAB als inhaltlichem Nachfolger von Tom's Hardware Deutschland, deren Lizenz im Juni 2019 zurückgegeben wurde, um den qualitativen Ansprüchen der Webinhalte und Herausforderungen der neuen Medien wie z.B. YouTube mit einem eigenen Kanal besser gerecht werden zu können.

Computer-Nerd seit 1983, Audio-Freak seit 1979 und seit über 50 Jahren so ziemlich offen für alles, was einen Stecker oder einen Akku hat.

Folge Igor auf:
YouTube   Facebook    Instagram