Help and Support

L'ora di sistema si esegue troppo rapidamente in una macchina virtuale Linux-based ospitata in Virtual Server 2005 R2

Traduzione automatica
Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica. Nel caso in cui si riscontrino degli errori e si desideri inviare dei suggerimenti, è possibile completare il questionario riportato alla fine del presente articolo.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 918461 (http://support.microsoft.com/kb/918461/en-us/)
Identificativo articolo:918461
Ultima modifica:giovedì 4 maggio 2006
Revisione:1.1
Su questa pagina

Sintomi

Dopo aver installato una macchina virtuale Linux-based in Microsoft Virtual Server 2005 R2, l'ora di sistema nel sistema operativo guest, Linux, si esegue troppo rapidamente. Ad esempio, l'ora corrente nel sistema operativo guest, Linux, si può avanzare dal minuto circa ogni 48 secondi. Dopo alcuna volta, la macchina virtuale Linux-based reimposta l'orologio nell'ora esatta.

Si riscontra questo problema se si esegue una distribuzione Linux che utilizza il kernel 2,6 Linux.

Torna all'inizio

Cause

Questo comportamento si verifica perché l'algoritmo predefinito nel kernel 2,6 Linux si regola alla perdita possibile di graduazioni di timer. Stante questa rettifica, la macchina virtuale può ottenere la volta.

Torna all'inizio

Risoluzione

A risolvere questo problema, aggiunge l'orologio <B> = il parametro </B> pit al file Linux bootloader. L'orologio <B> = il kernel 2,6 Linux alle cause di parametro </B> pit per utilizzare un algoritmo più efficiente per sincronizzare l'ora tra la macchina virtuale e tra il computer host. Questo algoritmo non si regola per le graduazioni perse. L'algoritmo pertanto non causa la macchina virtuale che ottiene la volta. Attenere a questa seguente procedura a aggiungere questo parametro.

Torna all'inizio

Per il bootloader SGOMBERO

1.Nel sistema operativo guest, aprire il file /boot/grub/menu.lst utilizzando un editor di testo come VI. Ad esempio, digitare il seguente comando da una console e quindi premere INVIO:
vi /boot/grub/menu.lst
Questo file contiene le opzioni di avvio Linux e somiglia quanto segue:
title Linux
   kernel (hd0,4)/vmlinuz root=/dev/hda7 vga=791
   initrd (hd0,4)/initrd
title windows
   root (hd0,0)
   makeactive
   chainloader +1
title floppy
   root (fd0)
   chainloader +1
title failsafe
   kernel (hd0,4)/vmlinuz.shipped root=/dev/hda7 ide=nodma apm=off acpi=off vga=normal nosmp maxcpus=0 3
   initrd (hd0,4)/initrd.shipped
2.Nell'area title Linux di questo file, aggiunge l'orologio <B> = il parametro </B> pit al movimento di kernel. Questa area dovrebbe somigliare:
title Linux
   kernel (hd0,4)/vmlinuz root=/dev/hda7 vga=791 clock=pit
   initrd (hd0,4)/initrd
3.Salvare le modifiche apportate al file, uscire da VI e quindi riavviare la macchina virtuale Linux-based.

Torna all'inizio

Per il bootloader LILO

1.Nel sistema operativo guest, aprire il file /etc/lilo.conf utilizzando un editor di testo come VI. Ad esempio, digitare il seguente comando da una console e quindi premere INVIO:
vi /etc/lilo.conf
Questo file contiene le opzioni di avvio Linux e somiglia quanto segue:
### LILO global section 
boot    = /dev/hda           # LILO installation target: MBR 
vga     = normal             # normal text mode (80x25 chars) 
read-only 

lba32                        # Use BIOS to ignore 
                             # 1024 cylinder limit 
prompt 
password = q99iwr4           # LILO password (example) 
timeout = 80                 # Wait at prompt for 8 s before 
                             # default is booted 
message = /boot/message      # LILO's greeting 

### LILO Linux section (default) 
  image  = /boot/vmlinuz     # Default 
  label  = linux 
  root   = /dev/hda7         # Root partition for the kernel 
  initrd = /boot/initrd 

### LILO Linux section (fallback) 
  image  = /boot/vmlinuz.shipped 
  label  = Failsafe 
  root   = /dev/hda7 
  initrd = /boot/initrd.suse 
  optional 

### LILO other system section (Windows) 
  other  = /dev/hda1         # Windows partition 
  label  = windows 

### LILO memory test section (memtest) 
  image  = /boot/memtest.bin 
  label  = memtest86
2.Nell'area ### LILO Linux section (default) di questo file, digitare:
Append = "clock=pit"
Questa area dovrebbe somigliare:
### LILO Linux section (default) 
  image  = /boot/vmlinuz     # Default 
  label  = linux 
  root   = /dev/hda7         # Root partition for the kernel 
  initrd = /boot/initrd
  Append = "clock=pit"
3.Salvare le modifiche apportate al file e quindi uscire da VI.
4.Eseguire il comando LILO. Ad esempio, digitare il seguente comando e quindi premere INVIO:
/sbin/lilo
5.Riavviare la macchina virtuale Linux-based.

Torna all'inizio

Informazioni

Una macchina virtuale si ha in genere che la difficoltà sincronizza la sua ora con il computer host fisico. Malgrado è destinato che Microsoft Virtual Server 2005 Virtual Machine Additions consenta di correggere questo problema, si si potrebbe verificare i problemi di sincronizzazione di tempo a causa del modo in cui tiene il sistema operativo guest la traccia dell'ora di sistema. Ogni tipo di sistema operativo dispone del proprio esso modo per tenere la traccia dell'ora di sistema. Il kernel Linux 2.6 utilizza diversi tre tipi di algoritmi per tenere la traccia dell'ora di sistema. Questi algoritmi sono più efficienti degli algoritmi utilizzati dal kernel 2,4 Linux e dai kernel Linux precedenti.

Torna all'inizio

Sincronizzazione di ora in una macchina virtuale

Un sistema operativo tiene in genere la traccia di volta utilizzando gli interrupt di tempo periodico generati da una periferica hardware specifico. Un sistema operativo ottiene in genere la volta di un orologio Complimentary Metal Oxide Semi-conductor (CMOS) battery-backed durante la procedura di avvio del sistema operativo. Quindi il sistema operativo configura una periferica di timer per generare gli interrupt periodici. Il sistema operativo tiene la traccia di volta contando questi interrupt.

Per una macchina virtuale, l'hardware fisico effettivo è condiviso dal sistema operativo host e da sistema operativo guest. Quando una macchina virtuale genera un interrupt di tempo, il sistema operativo guest può essere eseguito o può non essere eseguito. Il sistema operativo guest pertanto non si contabilizza immediatamente per alcuni di questi interrupt. Per aggirare questo problema, la macchina virtuale mantiene un backlog di questi interrupt. La macchina virtuale aumenta inoltre la frequenza di interrupt di timer durante l'esecuzione di esso. È destinato che la maggiore frequenza di interrupt di timer lo faciliti al sistema operativo guest che gestisce l'ora esatta. La maggiore frequenza di questi interrupt tuttavia potrebbe comportare che il sistema operativo guest manca alcuni degli interrupt. Questi interrupt non eseguiti si dicono "le graduazioni perse". Ha perso la causa la volta di sistema operativo guest alle graduazioni ritardo dietro il relativo al lavoro effettivo dato. Malgrado si verifica questo problema in un computer fisico, è più probabile riscontrare questo problema in un sistema operativo guest nell'esecuzione in una macchina virtuale.

Il kernel 2,4 Linux e i kernel Linux precedenti si basano sugli interrupt di timer che recapita il timer. Gli algoritmi implementati per la sincronizzazione di ora nel kernel 2,4 Linux non contabilizzano per le graduazioni perse. Questo comportamento può causare ritardo il guest Linux che gestisce l'ora di sistema dietro l'orologio effettivo. Per risolvere questo problema, correggono il kernel 2,4 Linux alcune distribuzioni Linux per recapitare gli interrupt di timer a una maggiore velocità. Il Linux che potrebbe presentare ancora il sistema operativo guest la volta in la sincronizzazione emittere stante la volta tuttavia ha perso le graduazioni.

Il kernel Linux 2.6 implementa gli algoritmi più efficienti per risolvere questo problema di sincronizzazione di tempo. Gli algoritmi 2,4 Linux, gli algoritmi 2,6 Linux regolano per le graduazioni perse. Questa rettifica tuttavia può causare la macchina virtuale Linux-based che ottiene la volta. Il kernel 2,6 Linux contiene tre parametri di diverso orologio che si possono passare al kernel nel momento di avvio. Utilizzare questi parametri per selezionare gli algoritmi da utilizzarsi per la sincronizzazione di ora. Per ulteriori informazioni su questi algoritmi, vedere la sezione "Linux in Timekeeping". Ognuno di questi algoritmi timekeeping presenta i vantaggi e gli svantaggi. Tuttavia è più probabile notare gli svantaggi in una macchina virtuale in un computer fisico.

Hardware di timer di computer

Ogni sistema operativo dispone del proprio suo metodo di gestire i problemi timekeeping. Sono i vari tipi di meccanismi di timer utilizzati per mantenere la volta in un computer. Questi meccanismi di timer includono:
?Timer programmabile di intervallo (PIT)
? Orologio (RTC) CMOS nel tempo reale
? Il locale è avanzato controller di interrupt programmabile timer (APIC)
?Il la configurazione avanzata (che è anche questo meccanismo un Chipset Timer) e Power Interface (ACPI)
?Contatore di timbro (TSC) l'ora
?Timer di evento (HPET) Alta precisione

Timekeeping in Linux

Su una piattaforma x x, il kernel Linux 2.6 interagisce con i seguenti tipi di orologi per tenere la traccia di volta:
?Timer Risparmio energia (PMTMR)
Questo orologio presenta le seguenti caratteristiche:
?Si imposta questo orologio utilizzando l'orologio <B> = il parametro </B> pmtmr di kernel.
?Questo orologio utilizza il timer ACPI.
?Questo orologio può causare i guadagni di tempo più piccoli.
?Contatore di timbro (TSC) l'ora
Questo orologio presenta le seguenti caratteristiche:
?Si imposta questo orologio utilizzando l'orologio <B> = il parametro </B> tsc di kernel. (Ciò è il parametro predefinito.)
?Questo orologio utilizza il contatore PIT e il TSC per l'interpolazione di tempo.
?Questo orologio può causare l'overcorrection in un ambiente di macchina virtuale. L'orologio di sistema operativo guest pertanto può essere eseguito troppo rapidamente.
?Questo orologio può causare i guadagni di tempo di 10 % massimo.
?Timer programmabile di intervallo (PIT)
Questo orologio presenta le seguenti caratteristiche:
?Si imposta questo orologio utilizzando l'orologio <B> = il parametro </B> pit di kernel.
?Questo orologio utilizza solo il contatore PIT per l'interpolazione di tempo.
?Questo orologio utilizza la più semplice degli algoritmi disponibili.
?Questo orologio non ottiene la volta poiché esso non utilizza il codice di correzione di graduazione persa.
Per ulteriori informazioni su Virtual Server 2005, visitare il seguente sito Web Microsoft:
http://www.microsoft.com/windowsserversystem/virtualserver/default.mspx (http://www.microsoft.com/windowsserversystem/virtualserver/default.mspx)
Le società che sono indipendenti di Microsoft i prodotti di terze parti che si illustrano in questo articolo producono. Microsoft esclude ogni garanzia implicita o contraria a proposito della prestazione o l'affidabilità di questi prodotti.

Torna all'inizio


Le informazioni in questo articolo si applicano a
?Microsoft Virtual Server 2005 R2 Standard Edition
?Microsoft Virtual Server 2005 R2 Enterprise Edition

Torna all'inizio

Chiavi: 
kbtshoot kbenv kbprb kbdeployment KB918461 KbMtit kbmt

Torna all'inizio

LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Traduzione articoli

 

Other Support Options

  • Contact Microsoft
    Phone Numbers, Support Options and Pricing, Online Help, and more.
  • Customer Service
    For non-technical assistance with product purchases, subscriptions, online services, events, training courses, corporate sales, piracy issues, and more.
  • Newsgroups
    Pose a question to other users. Discussion groups and Forums about specific Microsoft products, technologies, and services.