web analytics

VMWare y la sincronización de reloj

By , November 29, 2007 4:22 pm

Recientemente he instalado VMWare sobre Linux Ubuntu AMDEl tiempo64. De maravillas con la virtualización. Pero comencé a notar que algunas cosas ocurrian muy lentamente o muy rápidamente. 

En las máquinas virtuales Linux hacer ping a un host remoto demoraba muchísimo entre paquete y paquete. En las máquinas virtuales Windows las aplicaciones que sirven para bajar archivos se perdían cuando debían aplicar esperas.

Buscando por internet encontré que uno de los grandes problemas que se presenta en la virtualización es el reloj. Se ofrece un documento donde se detalla el problema.

Para solucionar el problema que tenía los que hice fue primeramente consultar la velocidad exacta de la CPU. En mi caso obtuve esto:

# cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 107
model name      : AMD Athlon(tm) 64 X2 Dual Core Processor 4400+
stepping        : 1
cpu MHz         : 2310.478
cache size      : 512 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 2
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy misalignsse
bogomips        : 4624.47
TLB size        : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc 100mhzsteps

processor       : 1
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 107
model name      : AMD Athlon(tm) 64 X2 Dual Core Processor 4400+
stepping        : 1
cpu MHz         : 2310.478
cache size      : 512 KB
physical id     : 0
siblings        : 2
core id         : 1
cpu cores       : 2
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy misalignsse
bogomips        : 4620.99
TLB size        : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc 100mhzsteps

En rojo se resalta la velocidad del procesador. Con este dato, en la configuración vmware ubicado en /etc/vmware/config incluyo las siguientes líneas al final

host.cpukHz = “2310478”
host.noTSC = “TRUE”
ptsc.noTSC = “TRUE”

El archivo de configuración de la máquina virtual es el archivo de texto con extensión .vmx. También hay que tener en cuenta que se debe realizar una conversión en la velocidad del procesador. Linux reporta la velocidad en MHz, mientras que la configuración para vmware debe ser en kHz.

Con estos cambios, el problema de los defasajes en el tiempo en las máquinas virtualizadas desaparecieron.

Be Sociable, Share!
Compartir

Leave a Reply

Panorama Theme by Themocracy

Bear