Quiere que Visual Studio 2010 deje de usar la unidad cuando hay mucha RAM en Windows 7 de 64 bits

11

Actualizaré mi sistema para usar 16 GB de RAM DDR3 en Windows 7 de 64 bits y Visual Studio 2010 Ultimate. La CPU tendrá 6 núcleos de 3.2Ghz. Hago muchas compilaciones / día y mi objetivo para VS es mostrar una página web en cuestión de segundos después de hacer un cambio en el código.

Noté que Visual Studio realiza muchas operaciones de E / S (desde HD led) con la unidad durante su trabajo. Me gustaría poner todo lo que VS necesita en la memoria, incluidas las carpetas temporales, los archivos del sistema, mi código, ... lo que sea. Solo quiero que VS sea increíblemente rápido . Mi disco principal es un SSD, que es rápido, e incluso quiero que VS no lo use. RAM es súper rápido en comparación con cualquier otra cosa.

Sé que VS 2010 todavía tiene 32 bits, por lo que usará un máximo de 4 GB, sin embargo, todas las demás aplicaciones abiertas (navegador, Outlook, File Explorer ... etc.) pueden usar lo que quede de los 12 GB y dejar que VS deambule libremente en su espacio de memoria dedicado de 4 GB.

Mi pregunta : ¿Qué ajustes y ajustes puedo realizar en Windows 7 y VS 2010 para que VS 2010 dedique y use tanta memoria como sea posible y bloquee eso y que use el disco duro lo menos posible? ¿Windows 7 64 y VS ya está optimizado para eso y no se puede hacer mucho más? ¿Ayudaría un disco RAM? Piense en esto como si estuviera tratando de eliminar la unidad.

Soy consciente de una mayor pérdida de datos con la pérdida de energía, pero eso no es una preocupación en este momento. Suponga que no hay dependencias externas presentes (base de datos, velocidad de red ...) lo que podría ralentizar VS. La desfragmentación de disco no ayuda mucho.

Tony_Henrich
fuente
Como esto se relaciona más con la forma de configurar discos RAM y el uso de memoria ejecutable que con la programación, votar para pasar al superusuario.
jball
1
@jball No estoy de acuerdo, está relacionado con la programación lo suficiente como para justificar quedarse, en mi humilde opinión, ya que muchos desarrolladores de VS podrían beneficiarse de dicha configuración.
Puse la pregunta aquí porque necesito personas que sepan cómo funciona Visual Studio íntimamente. Si solo está en la configuración predeterminada del servidor, probablemente obtendré sugerencias genéricas de optimización sobre Windows (aún buenas sugerencias). Sin embargo, no me importa ponerlo en ambos sitios.
Tony_Henrich
Tengo una pregunta relacionada en serverfault. serverfault.com/questions/142203/…
Tony_Henrich

Respuestas:

6

Ya tienes lo que estás pidiendo. Con tanta RAM, tendrá un caché de sistema de archivos realmente grande. Visible desde Taskmgr.exe, pestaña Rendimiento, en caché. Cualquier escritura de disco que realice Visual Studio se realizará de manera completamente instantánea a medida que los datos se escriben en la RAM. El administrador de caché luego lo escribirá perezosamente en el disco, haciendo que la luz de acceso a su unidad parpadee en el proceso, por supuesto.

Del mismo modo, las lecturas de disco se acelerarán. Todavía tiene que salir del disco, pero leerá una pista completa en lugar de solo el sector de archivos que solicita Visual Studio. Es muy probable que la próxima lectura salga de la RAM en lugar de tener que recuperarse del disco.

Esto funciona tan bien (y es seguro) que los discos RAM ya no se usan.

Hans Passant
fuente
También he visto a VS hacer que el disco escriba y tengo 6 GB que no están llenos. Creo que VS puede estar usando las banderas que fuerzan los datos al almacenamiento en disco. ¡Debe pensar que los archivos de salida son cosas valiosas!
Zan Lynx
Hmm, ¿qué tipo de proyecto genera 6 gigabytes de código ejecutable?
@Hans: para reformular. Mi sistema tiene 6 GB de RAM que no está completamente agotado y debería estar disponible como caché de escritura de disco para los 100 MB de archivos de salida que genera la compilación del proyecto.
Zan Lynx
1
@zan: utilice ProcMon de SysInternals para averiguar qué está haciendo el disco.
Hans Passant
2

Parece que primero necesita crear un disco RAM. No estoy seguro de las herramientas para hacer esto en Windows 7; Quizás alguien más tenga una idea. Pero esto debería manejar todos los ajustes necesarios en el lado de Windows, en lo que respecta al disco. Lo único que agregaría es configurar su directorio temporal en el disco RAM. Esto se almacena en variables de entorno como TMP y TEMP. También suele estar en las variables del sistema y del usuario; Asegúrese de cambiar ambos.

Dentro de Visual Studio, debe asegurarse de que todo lo que puede establecer como opciones de ruta en Visual Studio apunte al disco RAM. Esto incluye los directorios de entrada y salida del proyecto, y cualquier directorio temporal que pueda necesitar, aunque, en teoría, todos estos deberían estar separados de las variables de entorno TMP / TEMP.

jdmichal
fuente