Vous voulez que Visual Studio 2010 cesse d'utiliser le lecteur lorsqu'il y a beaucoup de RAM dans Windows 7 64 bits


11

Je vais mettre à niveau mon système pour utiliser 16 Go de RAM DDR3 dans Windows 7 64 bits et Visual Studio 2010 Ultimate. Le CPU sera 6 cœurs 3.2Ghz. Je fais beaucoup de compilations / jour et mon objectif pour VS est d'afficher une page Web en quelques secondes après avoir modifié le code derrière.

J'ai remarqué que Visual Studio effectue de nombreuses opérations d'E / S (à partir de la LED HD) avec le lecteur pendant son travail. Je voudrais mettre tout ce dont VS a besoin en mémoire, y compris les dossiers temporaires, les fichiers système, mon code, etc. Je veux juste que VS éclate rapidement . Mon disque principal est un SSD, ce qui est rapide, et je veux même que VS ne l'utilise pas. La RAM est super rapide par rapport à toute autre chose.

Je sais que VS 2010 est toujours 32 bits, donc il utilisera au maximum 4 Go, mais toutes les autres applications ouvertes (navigateur, Outlook, Explorateur de fichiers, etc.) peuvent utiliser tout ce qui reste du 12 Go et laisser VS errer librement dans son espace mémoire dédié de 4 Go.

Ma question : quels paramètres et réglages puis-je effectuer sur Windows 7 et VS 2010 pour que VS 2010 consacre et utilise autant de mémoire que possible et bloque cela et pour qu'il utilise le disque dur le moins possible? Windows 7 64 et VS sont-ils déjà optimisés pour cela et pas grand-chose d'autre ne peut être fait. Un disque RAM serait-il utile? Pensez à cela comme si j'essayais d'éliminer le lecteur.

Je suis conscient d'une perte de données probablement plus élevée avec une perte d'alimentation, mais ce n'est pas un problème pour le moment. Supposons qu'aucune dépendance externe ne soit présente (base de données, vitesse du réseau ...) ce qui pourrait ralentir VS. La défragmentation du disque n'aide pas beaucoup.


Comme cela concerne plus la configuration des disques RAM et l'utilisation de la mémoire exécutable que la programmation, voter pour passer au superutilisateur.
jball

1
@jball Je ne suis pas d'accord, c'est lié à une programmation suffisante pour justifier de rester, à mon humble avis, car de nombreux développeurs VS pourraient bénéficier d'une telle configuration.

Je pose la question ici parce que j'ai besoin de personnes qui savent comment Visual Studio fonctionne intimement. Si c'est uniquement en défaut de serveur, j'obtiendrai probablement des conseils d'optimisation génériques sur Windows (toujours de bons conseils). Cela ne me dérange pas de le mettre dans les deux sites cependant.
Tony_Henrich

J'ai une question connexe dans serverfault. serverfault.com/questions/142203/…
Tony_Henrich

Réponses:


6

Vous avez déjà ce que vous demandez. Avec autant de RAM, vous aurez un très gros cache de système de fichiers. Visible à partir de Taskmgr.exe, onglet Performances, mis en cache. Tout disque écrit par Visual Studio s'exécute complètement instantanément lorsque les données sont écrites dans la RAM. Le gestionnaire de cache l'écrira ensuite paresseusement sur le disque, faisant bien sûr clignoter le voyant d'accès à votre lecteur.

De même, les lectures sur disque vont s'accélérer. Il doit toujours sortir du disque mais il lira une piste entière au lieu du seul secteur de fichier demandé par Visual Studio. Rendant très probable que la prochaine lecture sortira de la RAM au lieu d'avoir à être récupérée du disque.

Cela fonctionne si bien (et est sécurisé) que les disques RAM ne sont plus utilisés.


J'ai également vu VS faire l'écriture du disque et j'ai 6 Go qui ne sont pas pleins. Je pense que VS utilise peut-être les indicateurs qui forcent les données sur le stockage sur disque. Il faut penser que les fichiers de sortie sont précieux!
Zan Lynx

Hmm, quel type de projet génère 6 gigaoctets de code exécutable?

@Hans: Pour reformuler. Mon système dispose de 6 Go de RAM qui ne sont pas entièrement utilisés et devraient être disponibles en tant que cache d'écriture de disque pour les 100 Mo de fichiers de sortie générés par la construction du projet.
Zan Lynx

1
@zan - utilisez ProcMon de SysInternals pour savoir ce que fait le disque.
Hans Passant

2

Il semble que vous devez d'abord créer un disque RAM. Pas sûr des outils pour le faire dans Windows 7; peut-être que quelqu'un d'autre aura une idée. Mais cela devrait gérer tous les ajustements nécessaires du côté de Windows, en ce qui concerne le disque. La seule chose que j'ajouterais est de définir votre répertoire temporaire sur le disque RAM. Ceci est stocké dans des variables d'environnement comme TMP et TEMP. Il se trouve également généralement dans les variables système et utilisateur; assurez-vous de changer les deux.

Dans Visual Studio, vous devez ensuite vous assurer que tout ce que vous pouvez définir comme options de chemin dans Visual Studio pointe vers le disque RAM. Cela inclut les répertoires d'entrée et de sortie du projet, ainsi que tous les répertoires temporaires dont il pourrait avoir besoin, bien qu'en théorie ceux-ci devraient tous être supprimés des variables d'environnement TMP / TEMP.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.