h1

Problemas con el reloj utilizando VMWare en Linux

8/04/08

Tal y como advertí en la entrada anterior aquí va el primero…

Si has intalado VMware en Linux te habrás dado cuenta que el reloj de las máquinas virtuales va más perdido que Adán en el día de la madre. Se atrasa o se adelanta que da gusto y por lo visto esto a los desarrolladores no les gusta por no se qué de los unos logs… XD

Tienes una posible solución por aquí. No voy a entrar a comentarla porque creo que está bastante claro y, sobre todo, porque a mi no me funcionó.

Pero lo que si me funcionó es esto otro. Resulta que las máquinas que tenemos utilizan la tecnología Intel SpeedStep (AMD tiene algo parecido llamado PowerNow o Cool’n’Quiet). Estas tecnologías lo que hacen es modificar la frecuencia del procesador según la carga de trabajo. ¿Y cómo sé yo si mi procesador gasta de esto? Pues yo lo averigüé cotilleando el fichero /proc/cpuinfo con la máquina host “en reposo”:

[root@localhost ~]# head /proc/cpuinfo
processor: 0
vendor_id: GenuineIntel
cpu family: 6
model: 15
model name: Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz
stepping: 11
cpu MHz: 1596.000
cache size: 4096 KB
physical id: 0
siblings: 4
[root@localhost ~]#

Si te fijas un poco el nombre del procesador dice que es a 2,4 GHz pero la velocidad real es de 1,6. Sospechoso, sospechoso, …

Para solucionarlo sólo tenemos que editar el /etc/vmware/config del host y añadir las siguientes líneas:

host.cpukHz = XXXXXXX
host.noTSC = TRUE
ptsc.noTSC = TRUE

Sustituyendo las equis por la velocidad máxima de tu procesador en kilohercios (2400000 en mi caso).

Reiniciamos el servicio de vmware y listo.

Por último asegúrate de tener desactivado en las máquinas virtuales cualquier software de sincronización horaria tipo ntpd.

Actualizado: También existe una solución si la máquina host es un Windows. Ahora mismo la estoy probando. Si funciona os contaré.

Más actualizado: Probado y me funciona en Windows.

Anuncios

5 comentarios

  1. ¿Quién eres, cabrón? ¿Para quién trabajas? El otro día me ha pasado esto mismito, colega, el reloj de un equipo iba 17 segundos por minuto más rápido de lo normal; así que, naturalmente, me rechazaban envíos de ficheros que llegaban antes de haber sido enviados. Relatividad pura.


  2. pero bueno…no era q habías cambiado la versión del linux o no se que…

    prometo q escuché…lo prometo!!!!

    esperas muchos comentarios en este tipo de post??


  3. Lek, si trabajas con máquinas virtuales, el cambio es mínimo y los resultados asombrosos. Yo además he combinado esto con una ejecución al arrancar y otra diaria del comando ntpdate en las máquinas virtuales para que actualice la hora contra un servidor de ntpd que tenemos (he comprobado que a pesar de las modificaciones los relojes siguen adelantándose unos segundos al día).

    Makeda, este post es la conclusión después de muchas pruebas. Cuando te comía la cabeza con ello era porque probaba yoquesecuantas versiones de kernel tanto en el host como en las máquinas virtuales… todo para nada XDDD


  4. […] ¡¡Ostias, pobre hombre!! « Problemas con el reloj utilizando VMWare en Linux Más relojes 9/04/08 Sigo con los relojes de las máquinas virtuales pero hoy me enrollo […]


  5. Muchas gracias por el aporte! tenia un problema en una Athlon X2 con vmware en Windows que funcionaba mucho mas rapido de lo normal, no sabia por que. Le agregue esas lineas y se solucionó el problema. Ahora funciona perfecto. Muchas gracias!!!



Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: