Visual Studio 2010 und der Speicher (32-bit)

 Entwicklung  Kommentare deaktiviert für Visual Studio 2010 und der Speicher (32-bit)
Jun 152010
 

Das ist so ne Sache. Auf 32-bit Systemen bekommt ein Prozess 2 GB virtuellen Speicher. Die sieht man im Taskmanager nicht, die sind nur virtuell. Normalerweise reicht das auch locker aus. Aber werden im Visual Studio 2010 mehrere AddIns oder Extensions installiert wird es schnell knapp.

Dann kann es vorkommen das plötzlich keine Code mehr kopiert werden kann, mit dem Hinweis, dass zu wenig Speicher vorhanden sei. Er sei zu fragmentiert und das kopieren scheitert dann. Wenn Visual Studio 2010 neu gestartet wird kann die selbe Stelle ohne Probleme kopiert werden. Bis es wieder … na ja.

Wenn es ganz schlimm kommt zeigt Visual Studio 2010 eine Meldung mit einem Link zu einer möglichen Lösung an.

Visual Studio 2010 – Low Virtual Memory

Dort wird schön beschrieben um was es geht. Eine Lösung ist, dass man dem Betriebssystem erlaubt mehr als die 2 GB einem Prozess zu geben. Mit 3072 MB wird die Obergrenze für einen Prozess auf 3 GB erhöht. Unter Vista, Windows 7 und Server 2008 muss man dazu im Bootmanager einen Eintrag anpassen.

bcdedit /set IncreaseUserVa 3072

Commandline (cmd.exe) als Admin starten und ausführen.

Commandline als Admin starten

bcdedit /set IncreaseUserVa 3072

Danach sind beide Fehler weg. Seit diesem Zeitpunkt bin ich nicht mehr auf das Problem vom Kopieren und der heftigen Meldung mit zu wenig Speicher gestossen. 🙂

Aber eigentlich wollte ich das Posting schon lange schreiben da die originale Hilfeseite, die ich verlinkt habe, einen Fehler im bcedit Befehl hatte. Auf anderen Seiten fand ich damals den richtigen. In zwischen wurde der Schreibfehler bei IncreaseUserVa behoben.

kick it on dotnet-kicks.de