Was sind die Gefahren einer manuellen Einstellung von IncreaseUserVA?

50050
Charango

Ich lasse Visual Studio 2010 auf einem 32-Bit-System laufen und stelle regelmäßig Probleme mit dem Ablaufen des virtuellen Speichers fest, so dass ich in VS keine weiteren Funktionen wie Kopieren / Einfügen ausführen kann.

Ich habe ein paar Optionen ausgecheckt, und die Microsoft-Zeile mit dieser Option zeigt an, dass weniger Erweiterungen geöffnet sind. Wenn dies nicht funktioniert, verwenden Sie den Befehl bcedit / set IncreaseUserVA 3072.

Das schien das Problem zu mildern, aber nach ungefähr einem Tag der Verwendung werden plötzlich Fenster angezeigt, die besagen, dass ich keinen Festplattenspeicher mehr habe - auf einem Laufwerk mit über 100 GB verfügbaren Speicherplatz. Zum Beispiel würde das Kopieren einer Datei gestoppt, es sei kein Platz zum Kopieren vorhanden. Das Klicken auf "Wiederholen" würde jedoch erfolgreich sein. Viele andere Programme, die auf Diskette schreiben, fallen regelmäßig um. (Einschließlich Skype ... warum haben Sie die ganze Zeit auf die Festplatte geschrieben, Skype ?!)

Ich führte chkdsk aus und führte andere grundlegende Überprüfungen durch, bevor ich zu dem Schluss kam, dass meine Konfigurationsänderung verantwortlich sein muss. Glücklicherweise hat das Wiederherstellen der Standardeinstellung funktioniert und ich bin jetzt wieder in Aktion.

Die meisten Artikel (mit Ausnahme von Microsoft) über IncreaseUserVA sagen "Verwendung auf eigene Gefahr", und ich habe sie eindeutig verloren. Aber kann jemand erklären, warum dieses Verhalten gezeigt wurde / was bei einer scheinbar legitimen Änderung der Windows 7-Konfiguration so schief gehen kann?

Für die Aufzeichnung - die Maschine war ein Dell Vostro Laptop mit einem 260 Gb / 5400 U / min-Laufwerk, 3,2 Gb (effektivem) RAM, auf dem Windows 7 mit allen Updates vor SP1 ausgeführt wurde.

8
Wenn etwas schief geht, wie kann ich es auf den Standard zurücksetzen. Durch Ausführen dieses Befehls bcedit / set IncreaseUserVA 2048 ?? Saravana Kumar vor 12 Jahren 0

3 Antworten auf die Frage

6
Mr Alpha

Windows partitioniert die verfügbaren 4 GB des Adressraums auf einem 32-Bit-System in zwei Hälften, sodass der Kernel 2 GB und das Programm 2 GB erhält (seine virtualisierten, also jedes Programm 2 GB). Der Befehl "bcedit / set IncreaseUserVA 3072" ändert die Partitionierung so, dass jedes Programm 3 GB und der Kernel-Speicherplatz nur 1 GB erhält. Meistens funktioniert das gut, aber wie Sie bemerkt haben, können Sie in Schwierigkeiten geraten. Es ist normalerweise ein Treiber, der in einem Kernel-Space ausgeführt wird, der hartcodiert wurde, um anzunehmen, dass 2 GB verfügbarer Adressraum zur Verfügung stehen. Dies führt zu Problemen, wenn er versucht, den 2 GB-Adressraum zu verwenden, ohne zu prüfen, ob dies möglich ist.

0
Anonymous Coward

If you have 8 GB of RAM and need larger user address space, best solution is to install Windows 2003 server. No tweaks are required and your 32 bit apps get 4 GB of address space each. There are some drivers which don't like this and that's why MS doesn't enable this on the desktop OS. The crashes caused by having a driver which does not support this are unpredictable and hard to diagnose and are mostly in drivers that aren't used in server environment.

It's possible to modify the Vista/Win7 kernel and add that as option to the boot menu to get the same memory as is available in the 32 bit Server editions:

www.geoffchappell.com/notes/windows/license/memory.htm

There's a pre-made patch that does this stuff but I haven't tested it and there's no source to it ...

Wie bereits erwähnt, heißt der Patch patch2pae. Eine Kopie ist in http://wj32.org/wp/2010/05/04/pae-patch-updated-for-windows-7/ zu finden. Was es tut, hat der Windows-Loader und der Kernel gepatcht, um über 4 GB Adressraum hinaus zuzugreifen die PAE-Erweiterung. g5thomas vor 10 Jahren 0
0
cleong

Ich habe IncreaseUserVa gelegentlich auf 3 g gesetzt, um ein großes Projekt zum Kompilieren zu erhalten. Ich stelle fest, dass das System, wenn es in den Ruhezustand wechselt, beim Aufwachen sehr instabil wird. Server halten normalerweise keinen Winterschlaf, denke ich.