Dic 30, 2012
alvaro

Optimización máquina Virtual VMware Windows XP en host Debian Squeeze 6.0.6

Buenas,

 

Al usar varias máquinas virtuales con diferentes sistemas operativos al mismo tiempo me veo con la necesidad de optimizar los recursos. Si bien, Vmware en mi sistema tiene un rendimiento limitado por el raid mirror que tengo, cambiar la ubicación de la máquina virtual no ha surgido la mejora esperada. Por ello he ido anotando y añadiendo a los ficheros de configuración de la máquina virtual las opciones que mejor han respondido a mi sistema y que si ofrecen una mejora de rendimiento.

Uno de los factores más importantes para las máquinas virtuales es el factor de virtualización que soporte nuestro procesador, tanto Amd como Intel disponen de dichas opciones desde hace tiempo en todos los procesadores. Activaríamos pues las opciones en Editar configuración de la máquina virtual -> Procesadores ->

Preferred Mode: Intel VT-x or AMD-v/RVI

Virtualize Intel VT-x/EPT or AMD-V/RVI

Virtualize CPU performance counters

Otra de las opciones interesantes es usar dos núcleos por procesador, si bien Windows apenas aprovecha más de dos, podríamos reducir considerablemente la carga y repartirla usando todos nuestros núcleos reales. VMware al emular utiliza en su proceso principal un sólo núcleo pero las máquinas virtuales si tienen la opción de usar todos los disponibles. La mejora es considerable.

Pantallazo-177a

La emulación de discos duros también afecta. Usar la emulación IDE esta completamente desaconsejada, por lo que usar SATA y el bus lsilogic acelera el rendimiento de escritura y lectura, permitiendo un arranque y funcionamiento del sistema operativo instalado.

Si tenemos una máquina con el disco principal IDE, podemos hacer el siguiente proceso para cambiar a SATA:

Asegurarse de haber instalado la última versión de Vmware tools en el sistema huésped.

Apagar la máquina virtualizada

CErrar Vmware

Editar el fichero VMX y cambiamos

ddb.adapterType = “ide” por ddb.adapterType = “lsilogic”

Guardamos el fichero y abrimos VMware

Editamos la configuración de la máquina virtual, borrando el disco duro IDE sin borrar el fichero del disco.

Agregamos un nuevo disco duro, seleccionamos disco duro existente, buscamos el fichero VMDK donde teníamos el sistema y lo agregamos.

Si pide una controladora SATA, seleccionamos “LsiLogic” para ello.

Ejecutamos la máquina virtual y veremos que ha aumentado la velocidad.

 

Otro detalle importante en el rendimiento de lectura y escritura es que el disco duro virtualizado debe ser un sólo fichero, si creamos un disco duro que sea de tamaño creciente perderemos tasa de escritura y rendimiento.

Al crearlo directamente con el tamaño que nos interesa, se reserva el espacio en el disco duro host y se disminuyen los archivos abiertos.

Si más tarde nos interesara ampliar el espacio podríamos usar la herramienta Expand dentro de la configuración de la máquina virtual.

Pantallazo-178b

El resto de optimizaciones van por los ficheros de configuración de la máquina virtual. Para empezar buscamos el fichero .vmx de la máquina Windows XP en cuestión.

Añadimos las siguientes lineas para mejorar el rendimiento gráfico:

svga.autodetect = “TRUE”
svga.maxWidth = “1024”
svga.maxHeight = “768”
svga.vramSize = “134217728”
mks.enable3d = “TRUE”
vmci0.unrestricted = “TRUE”
vmci0.id = “1173819431”

 

Estas para el rendimiento en general y acceso al disco:

MemTrimRate = “0”
mainMem.useNamedFile = “FALSE”
sched.mem.pshare.enable = “FALSE”
prefvmx.useRecommendedLockedMemSize = “TRUE”
vpmc.enable = “TRUE”
vhv.enable = “TRUE”
vhv.allow = “TRUE”

 

He comprobado que la máquina virtual XP funciona muy bien con 2352 Mb de Ram y sin archivo de intercambio.

Pantallazo-178a

Podemos ampliar la memoria física dedicada a la máquina virtual en la Configuración de la máquina virtual y Deshabilitar el uso archivo de intercambio en:

MiPC -> Propiedades de Sistema -> Avanzadas -> Performance -> Configuración -> Avanzada.

Allí pulsamos sobre el botón Cambiar del apartado Memoria Virtual.

Seleccionamos el disco duro que la contiene

Pulsamos en Sin archivo de paginación y le damos a Establecer.

Aceptamos y reiniciamos la máquina virtual.

2012-12-30_17-30-52

 

 

 

Lo siguiente es establecer a Windows en el arranque que dispone de 4 procesadores.

Abrimos Menú Inicio -> Ejecutar  y escribimos msconfig

Vamos a la pestaña “BOOT.INI y pulsamos en Opciones Avanzadas

En /NUMPROC establecemos 4 (en mi caso o el máximo de núcleos que hemos establecido antes en la configuración de la máquina virtual)

Reiniciamos la máquina virtualizada y veremos que carga mucho más rápido.

2012-12-30_17-27-34

 

Todo ello lo podemos ir comprobando usando una aplicación gratuita llamada NovaBench descargable de:  http://novabench.com

Siendo el último con este resultado:

30/12/2012 17:04:55
Microsoft Windows XP Professional
AMD Phenom II X4 955 @ 3985 MHz
Graphics Card: VMware SVGA II

2352 MB System RAM (Score: 107)
– RAM Speed: 3185 MB/s

CPU Tests (Score: 397)
– Floating Point Operations/Second: 102623912
– Integer Operations/Second: 354264784
– MD5 Hashes Generated/Second: 827873

Graphics Tests (Score: 24)
– 3D Frames Per Second: 85

Hardware Tests (Score: 2)
– Primary Partition Capacity: 20 GB
– Drive Write Speed: 6 MB/s

2012-12-30_17-31-28

 

Adjunto capturas de los resultados de Novabench Score mientras he ido realizando los cambios, ha pasado de 294 hasta los 540 del último test (todo ello teniendo Chrome con mas de 50 pestañas y Audacious y Emesene funcionando al mismo tiempo) por lo que seguramente con un test sin ningún proceso activo sería superior.

2012-12-30_17-39-39

2012-12-30_17-40-04

2012-12-30_17-40-35

(Capturas hechas por ShareX 6.5)

 

Leave a comment