Hallo zusammen,
ich nutze Win 8 Prof 64bit und möchte einem Programm einen maximalen RAM-Wert zuweisen, möglichst unkompliziert.
Das Problem:
Das Programm lädt bei Kopiervorgängen in einen Ordner offenbar alle Dateien in den RAM und, wenn ich virtuellen Speicher vom OS verwalten lasse, auch dahin. Beim Kopiervorgang zerhackt und verschlüsselt das Programm Dateien in kleine Bröckchen. Es ist nicht notwendig, diese im RAM zu halten - beende ich beispielsweise das Programm und starte es neu, geht es genau da weiter, dann aber natürlich bei minimalem RAM, zuerst.
Das Programm ist auch für Win 8 zugelassen, es ist ein "Bug" des Herstellers, den er kennt, aber noch nicht beheben konnte, daher meine Frage hier.
Ich habe 16 GB RAM und das Programm schießt so lange hoch, bis eine OS-Fehlermeldung kommt, dann schmieren einige Programme ab (zunächst der Internet Browser, dann einige Verwaltungsprogramme, dann der Virenscanner) und letztlich hängt sich Windows so auf, dass ich den Knopf drücken darf.
Suche also nur ne Möglichkeit, den RAM zu begrenzen.
Und, bitte, ist nicht böse gemeint, aber hier würde ich gerne Hilfe erhalten, und nicht irgendwelche Hinweise wie "dann ist das Programm Schrott, kauf ein anderes" oder "warum brauchst Du das" - möchte das eben benutzen und das ist mein Problem :) THX !!!!!!!
Du versuchst gerade ein totes Pferd zu reiten - was nicht klappen kann.
Zitat aus "Windows 7: Handbuch für Fortgeschrittene":
- 64-Bit-Windows mit 32-Bit-Anwendung: Die 64-Bit-Versionen von Windows sind nicht mehr auf die 4 GByte Adressraum begrenzt, sondern können den auf der Hauptplatine vorhandenen Arbeitsspeicher komplett nutzen. Sofern eine 32-Bit-Anwendung unter einem 64-Bit-Windows ausgeführt wird, stehen dem Prozess trotzdem nur 2 Gigabyte zur Verfügung. Hat der Programmentwickler das IMAGE_FILE_LARGE_ADDRESS_AWARE-Flag gesetzt, darf dem 32-Bit-Prozess bis zu 4 GByte Arbeitsspeicher zugewiesen werden.
- Bei 64-Bit-Anwendungen kann ein 64-Bit-Windows 7 den zugehörigen Prozessen bis zu 8 Terabyte an Arbeitsspeicher zuweisen, falls das IMAGE_FILE_LARGE_ADDRESS_AWARE-Flag gesetzt ist. Bei gelöschtem Flag ist der Arbeitsspeicher für den Prozess ebenfalls auf die bereits erwähnten 2 GByte begrenzt.
Windows selbst besitzt m. W. keinen Mechanismus, mit dem Du als Benutzer RAM zuzuweisen kannst. Das Ganze wird beim Übersetzen durch den Compiler bzw. Linker festgelegt. Wenn deine Anwendung beim Arbeiten wegen Speichermangel abstürzt, ist das ein Programmfehler und kann nicht durch Windows korrigiert werden.
HTH