visual-studio - visual - vscode autocomplete html tags
Optimizar la máquina virtual de desarrollo (10)
Apago el indexador del sistema de archivos, ahorrando espacio en disco y tiempo de CPU.
Como práctica recomendada, utilizo una máquina virtual para mi desarrollo; me gustaría intentar optimizar mi VM tanto como sea posible. Todo lo que he instalado es el servidor 2003, IIS y Visual Studio 2008. ¿Qué hace para optimizar su máquina virtual de desarrollo, es decir, qué servicio apaga, etc.?
Como siempre, no hay un conjunto único de recomendaciones que sean universalmente "correctas" o "mejores". Sin embargo, estos son algunos de los elementos que han funcionado bien para mis entornos virtuales de desarrollo .
Consejos de hardware
Mucha memoria!
Determine cuánta memoria requiere cada una de sus máquinas virtuales y cuánta memoria necesita su host (si está ejecutando cosas en el host al mismo tiempo). Sume el total de requisitos de memoria para todas las máquinas virtuales que se ejecutarán simultáneamente, determine la carga máxima de RAM de la máquina virtual y agregue la carga del host. Sugiero tener al menos 512 MB de "relleno"
Por ejemplo, necesito unos 768 MB para el sistema operativo host (WinXP Pro SP3) y aproximadamente 1 GB en mi sistema operativo invitado (WinXP Pro SP3 con Visual Studio 2005/2008 y SQL Server Developers Edition). 1024MB + 768MB + 512MB = 2.3GB
Personalmente, dado que la memoria RAM es increíblemente barata en la actualidad, acabo de maximizar mi sistema de 32 bits con 4GB (3.5 direccionables).
Husillo separado para su sistema operativo y máquinas virtuales
Tenga un disco separado del disco de su sistema operativo para ejecutar las imágenes de su máquina virtual. Esto reduce en gran medida la contención de E / S del disco entre el host y los invitados.
NOTA: El uso de un disco duro externo para separar el eje puede ayudar, pero tenga cuidado: ¡Firewire y USB tienen una latencia más alta que IDE, SATA o SCSI! Si bien las interfaces USB 2.0 y Firewire tienen un ancho de banda más que suficiente para el rendimiento máximo del disco, agregan una cantidad significativa de latencia a cada operación. Esto se vuelve muy significativo en transacciones de disco alto, en archivos pequeños acceden a situaciones como la compilación de C ++. Todavía no he tenido la oportunidad de realizar algunas pruebas en eSATA para ver qué tan bien funciona en comparación con los tiempos de acceso internos de SATA.
Utilice discos con tiempos de acceso bajos
Durante el desarrollo, se produce bastante acceso aleatorio a los discos, especialmente durante la compilación en lenguajes como C ++. El uso de 7200 RPM en una unidad de 5400 RPM para sus máquinas virtuales reduce los tiempos de acceso y, por lo tanto, reduce los tiempos de compilación. Ir a un SSD de 10.000 RPM o de gama alta reduce estos tiempos aún más. El punto de los rendimientos decrecientes depende de la carga / patrones de acceso a disco particulares de su entorno.
Consejos de acogida
Desactivar la exploración de virus de archivos de máquina virtual
Dígale a su escáner de virus que ignore el directorio de su máquina virtual O la extensión de archivo .vmdk para que no escanee constantemente los discos de su máquina virtual.
Evitar la contención de la CPU
Si está ejecutando más de una máquina virtual a la vez O está haciendo un trabajo tanto en el host como en el sistema operativo invitado, guarde al menos 1 CPU para el sistema operativo host en una máquina multi-core / proc. Por ejemplo, si está ejecutando dos máquinas virtuales y no está haciendo ningún trabajo en el sistema operativo host, es probable que un procesador de doble núcleo en el host con máquinas virtuales de un solo núcleo le sirva mejor.
Si está ejecutando una sola máquina virtual y no trabaja en el sistema operativo host, la ejecución de una máquina virtual con doble procesador puede ser útil si las aplicaciones de la máquina virtual pueden hacer uso del segundo procesador.
Si está ejecutando dos máquinas virtuales, 1 que es single proc y 1 que es dual proc, probablemente necesite ejecutar un sistema de cuatro núcleos.
VMware Note (no confirmado para otras aplicaciones de virtualización): si le asigna varios procesadores a una máquina virtual, esperará a que ambos procesadores estén disponibles y los reservará incluso si no los está utilizando. Esto puede causar una contención significativa entre las máquinas virtuales o entre la máquina virtual y el host.
Consejos para invitados
Asignar memoria suficiente
Asegúrese de asignar suficiente RAM para cubrir la demanda de la máquina virtual
Evita usar instantáneas
No uses instantáneas a menos que realmente necesites hacerlo. Existe una importante penalización de E / S del disco asociada con el mantenimiento de un sistema de archivos de máquina virtual basado en instantáneas.
No ejecute servicios innecesarios
Como:
- Indexación
- Restauración del sistema
- Error al reportar
- Configuración inalámbrica de cero
No ejecute software de seguridad
Considere no ejecutar software antivirus, antispyware o firewall dentro de su máquina virtual. Tendrás que sopesar los pros / contras de la seguridad frente a la velocidad aquí. Para muchos, si contraen un virus no es un problema, simplemente restauran una copia o instantánea anterior. Para otros, la exposición potencial de información confidencial requiere políticas de seguridad estrictas incluso dentro de la VM.
Diré que no ejecutar antivirus o software de firewall dentro de la VM es probablemente la razón número uno por la que las VM de Windows a menudo se sienten "más rápidas" que sus contrapartes del sistema operativo host físico.
Desfragmentar!
Desafortunadamente, hay tres lugares donde la fragmentación de archivos puede ocurrir en la configuración de una VM: dentro del sistema de archivos del SO Guest, dentro de la representación de la VM en el archivo de la máquina virtual (por ejemplo, vmdk), y en el disco de la máquina virtual en el disco físico. El orden en que desfragmentas cada uno importa.
- Primero, defragmentar el sistema de archivos dentro del sistema operativo invitado (por ejemplo, ejecutar el desfragmentador de disco en el sistema operativo invitado o usar una herramienta como JkDefrag o Defraggler, etc. dentro del sistema operativo invitado)
- En segundo lugar, desfragmentar el archivo de la máquina virtual (por ejemplo, VMDK) usando herramientas como vmware-diskmanager
- En tercer lugar, desfragmentar el sistema de archivos en el host que contiene el archivo de la máquina virtual (es decir, ejecutar la desfragmentación del disco en el sistema operativo host)
Deshabilito el archivo de la página de Windows cuando uso VMware Server. Disk IO es el enlace más débil con VMWare Server, y nada es peor que el envío de RAM virtualizada a un archivo de disco virtualizado. Dale a tu VM suficiente RAM y esto funciona bastante bien.
Además, no todas las soluciones de virtualización realizan lo mismo en diferentes áreas. VMware es excelente para la estabilidad y la movilidad de las imágenes de VM, pero es posible que desee probar otras soluciones si tiene tiempo. Descubrí que un mejor rendimiento de E / S del disco me brinda una mejor experiencia general, por lo que cambié el mejor rendimiento de la CPU (y la estabilidad general, desafortunadamente) del servidor VMware por el mejor rendimiento de E / S de VirtualBox. Las versiones no libres de VMware pueden ser mucho mejores, pero no tengo idea.
Descubrí que colocar las imágenes de disco en una unidad separada no te compra mucho. Mucha gente discutirá esto, y puede darte un poco más de rendimiento dependiendo de cuánto más esté pasando con el anfitrión, pero para mí fue marginal. También intenté usar un disco en bruto, que no hizo tanto como esperaba.
Una cosa que realmente mata el rendimiento de IO es la ejecución con una instantánea activa. Esto utiliza una estrategia de copia en escritura en la mayoría de las implementaciones, y puede esperar una caída del 20% en el rendimiento del disco.
Dos SSD, uno para el sistema operativo del host y otro para las máquinas virtuales.
Hay un gran artículo sobre el rendimiento de la máquina virtual here
Está escrito específicamente sobre las máquinas virtuales de Sharepoint, pero hay muchos consejos que se aplican en general.
Incluya la carpeta de compilación de mi protección contra virus para los escaneos de acceso
Estos son los servicios que apago en mi VM
- Desactivado el rastreador de eventos de apagado
- Desactivado la indexación en c: /
- Servicio de informe de errores desactivado
- Acceso a tarjeta inteligente desactivado
- TCP / IP NetBIOS Helper
- Ayuda de Escritorio remoto Administrador de sesión
- Registro remoto
- Fuente de poder ininterrumpible
- Audio de Windows
- Configuración inalámbrica de cero
Poner las imágenes de disco en un disco duro externo (incluso USB) puede mejorar el rendimiento (específicamente con una computadora portátil)
Puede utilizar esta herramienta gratuita de Quest para optimizar un escritorio virtual. Se apaga un montón de cosas.
Revelación completa: trabajo para Quest pero no trabajé en esta herramienta.
Recientemente construí una máquina virtual y comencé a optimizarla incluso antes de realizar la instalación utilizando Nlite y Windows Update Downloader . NLite le permite eliminar todos los componentes que no necesita (mspaint, pinball, francés, etc.), aplicar todas las actualizaciones de Windows y ajustar la configuración de registro y servicio. Por lo tanto, puede tener el Indizador del sistema desactivado en el primer arranque, por ejemplo. Si está usando Vista o 2008 Vlite también está disponible.
Siempre deshabilito "Restaurar sistema" en mis PC virtuales con Windows XP.