Möchten Sie, dass Visual Studio 2010 das Laufwerk nicht mehr verwendet, wenn in Windows 7 64-Bit viel RAM vorhanden ist?

11

Ich werde mein System auf 16 GB DDR3-RAM in Windows 7 64-Bit und Visual Studio 2010 Ultimate aktualisieren. CPU wird 6 Kerne 3,2 GHz sein. Ich mache viele Kompilierungen pro Tag und mein Ziel für VS ist es, innerhalb von Sekunden eine Webseite anzuzeigen, nachdem ich den Code dahinter geändert habe.

Ich habe festgestellt, dass Visual Studio während der Arbeit viele E / A-Vorgänge (von HD-LED) mit dem Laufwerk ausführt. Ich möchte alles, was VS benötigt, im Speicher ablegen, einschließlich der temporären Ordner, Systemdateien, meines Codes usw. Ich möchte nur, dass VS blitzschnell ist . Mein primäres Laufwerk ist eine SSD, die schnell ist, und ich möchte sogar, dass VS sie nicht verwendet. RAM ist im Vergleich zu allem anderen superschnell.

Ich weiß, dass VS 2010 immer noch 32-Bit ist, daher werden maximal 4 GB verwendet. Alle anderen geöffneten Apps (Browser, Outlook, Datei-Explorer usw.) können jedoch die verbleibenden 12 GB verwenden und VS in seinem dedizierten 4-GB-Speicher frei herumlaufen lassen.

Meine Frage : Welche Einstellungen und Optimierungen kann ich an Windows 7 und VS 2010 vornehmen, damit VS 2010 so viel Speicher wie möglich reserviert und verwendet und diesen blockiert und die Festplatte so wenig wie möglich verwendet? Ist Windows 7 64 & VS bereits dafür optimiert und kann nicht viel anderes getan werden. Würde eine RAM-Disk helfen? Stellen Sie sich das so vor, als würde ich versuchen, das Laufwerk zu entfernen.

Ich bin mir bewusst, dass Datenverluste mit Stromausfall wahrscheinlich höher sind, aber das ist derzeit kein Problem. Angenommen, es sind keine externen Abhängigkeiten vorhanden (Datenbank, Netzwerkgeschwindigkeit ...), die VS verlangsamen könnten. Die Defragmentierung der Festplatte hilft nicht viel.

Tony_Henrich
quelle
Da dies mehr mit dem Einrichten von RAM-Festplatten und der Verwendung des ausführbaren Speichers zu tun hat als mit dem Programmieren, müssen Sie abstimmen, um zum Superuser zu wechseln.
Jball
1
@jball Ich bin anderer Meinung, es hängt mit der Programmierung zusammen, die es rechtfertigt, herumzubleiben, IMHO, da viele VS-Entwickler von einer solchen Konfiguration profitieren könnten.
Ich stelle die Frage hier, weil ich Leute brauche, die wissen, wie Visual Studio genau funktioniert. Wenn es nur in Serverfault ist, werde ich wahrscheinlich allgemeine Optimierungstipps zu Windows erhalten (immer noch gute Tipps). Es macht mir jedoch nichts aus, es auf beiden Seiten zu platzieren.
Tony_Henrich
Ich habe eine verwandte Frage in Serverfehler. serverfault.com/questions/142203/…
Tony_Henrich

Antworten:

6

Sie haben bereits das bekommen, wonach Sie fragen. Mit so viel RAM haben Sie einen wirklich großen Dateisystem-Cache. Sichtbar über Taskmgr.exe, Registerkarte Leistung, zwischengespeichert. Alle von Visual Studio ausgeführten Festplattenschreibvorgänge werden sofort ausgeführt, wenn Daten in den RAM geschrieben werden. Der Cache-Manager schreibt es dann träge auf die Festplatte, sodass die Zugriffsanzeige Ihres Laufwerks natürlich blinkt.

Ebenso werden das Lesen von Datenträgern beschleunigt. Es muss sich noch von der Festplatte lösen, aber es liest einen ganzen Track anstatt nur den Dateisektor, den Visual Studio verlangt. Dies macht es sehr wahrscheinlich, dass der nächste Lesevorgang aus dem RAM kommt, anstatt von der Festplatte abgerufen werden zu müssen.

Dies funktioniert so gut (und ist sicher), dass RAM-Festplatten nicht mehr verwendet werden.

Hans Passant
quelle
Ich habe auch gesehen, wie VS die Festplatte zum Schreiben gebracht hat, und ich habe 6 GB, die nicht voll sind. Ich denke, VS verwendet möglicherweise die Flags, die Daten zum Festplattenspeicher zwingen. Es muss denken, dass die Ausgabedateien wertvolles Zeug sind!
Zan Lynx
Hmm, welche Art von Projekt generiert 6 Gigabyte ausführbaren Code?
@Hans: Umformulieren. Mein System verfügt über 6 GB RAM, das nicht vollständig verbraucht ist und als Festplattenschreibcache für die 100 MB Ausgabedateien verfügbar sein sollte, die vom Projekterstellungsprogramm generiert werden.
Zan Lynx
1
@zan - Verwenden Sie ProcMon von SysInternals, um herauszufinden, was die Festplatte tut.
Hans Passant
2

Es hört sich so an, als müssten Sie zuerst eine RAM-Disk erstellen. Ich bin mir nicht sicher, welche Tools dies in Windows 7 tun sollen. Vielleicht hat jemand anderes eine Idee. Dies sollte jedoch alle auf der Windows-Seite erforderlichen Anpassungen in Bezug auf die Festplatte übernehmen. Das einzige, was ich hinzufügen möchte, ist das Festlegen Ihres temporären Verzeichnisses auf der RAM-Disk. Dies wird in Umgebungsvariablen als TMP und TEMP gespeichert. Es ist normalerweise auch sowohl in System- als auch in Benutzervariablen enthalten. Stellen Sie sicher, dass Sie beide ändern.

In Visual Studio müssen Sie dann sicherstellen, dass alles, was Sie in Visual Studio als Pfadoptionen festlegen können, auf die RAM-Disk zeigt. Dies umfasst die Projekteingabe- und -ausgabeverzeichnisse sowie alle temporären Verzeichnisse, die möglicherweise benötigt werden. Theoretisch sollten diese jedoch alle von den TMP / TEMP-Umgebungsvariablen getrennt werden.

jdmichal
quelle