Al momento sei offline in attesa che la connessione Internet venga ristabilita

Degrado delle prestazioni nella funzione UnmapViewOfFile

Il supporto per Windows XP è terminato

Il supporto Microsoft per Windows XP è terminato l Ulteriori informazioni su come continuare a essere protetti.

Il supporto per Windows Server 2003 è terminato il 14 luglio 2015.

Microsoft ha sospeso il supporto per Windows Server 2003 in data 14 luglio 2015. Questa modifica ha interessato gli aggiornamenti software e le opzioni di sicurezza. Ulteriori informazioni su come continuare a essere protetti.

Sintomi
In un programma che utilizza visualizzazioni di file mappati di dimensioni superiori ai 500 megabyte (MB) è possibile che si verifichi una significativa riduzione delle prestazioni. Le visualizzazioni di file mappati vengono utilizzate di frequente per condividere informazioni tra due o più processi. Questo degrado a livello di prestazioni si manifesta nella funzione UnmapViewOfFile.
Cause
Questo problema si verifica se un programma esegue il mapping di visualizzazioni di file di dimensioni superiori ai 500 MB in Microsoft Windows Server 2003 o in Microsoft Windows XP Service Pack 1 (SP1).
Risoluzione

Windows XP Service Pack 1

Informazioni sul Service Pack

Per risolvere il problema, procurarsi l'ultimo service pack per Windows XP. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
322389 Come ottenere il Service Pack più recente per Windows XP

Informazioni sull'hotfix

È disponibile un hotfix supportato da Microsoft, che è tuttavia destinato esclusivamente alla risoluzione del problema descritto in questo articolo. Utilizzarlo solo nei sistemi in cui si verifica questo problema specifico. È possibile che su questo hotfix vengano eseguiti ulteriori test. Se pertanto questo problema non causa gravi difficoltà, si consiglia di attendere la versione successiva del service pack di Windows XP contenente l'hotfix.

Per risolvere immediatamente il problema, contattare il Servizio Supporto Tecnico Clienti Microsoft per ottenere l'hotfix. Per un elenco completo di numeri di telefono del Servizio Supporto Tecnico Clienti Microsoft e per informazioni sui costi dell'assistenza, visitare il sito Web Microsoft:Nota In casi particolari, le spese normalmente addebitate per le chiamate al Servizio Supporto Tecnico Clienti Microsoft potrebbero essere annullate qualora un addetto del Servizio Supporto Tecnico Clienti Microsoft dovesse determinare che uno specifico aggiornamento risolverà il problema. I normali costi del Servizio Supporto Tecnico Clienti Microsoft verranno applicati per eventuali ulteriori domande e problemi che non dovessero rientrare nello specifico aggiornamento in questione. La versione in lingua inglese di questo hotfix presenta gli attributi di file elencati nella tabella seguente (o attributi successivi). Date e ore elencate di seguito sono espresse in UTC (Universal Time Coordinate). Quando si visualizzano le informazioni sui file, l'ora viene convertita in ora locale. Per calcolare la differenza tra l'ora UTC e quella locale, utilizzare la scheda Fuso orario dello strumento Data e ora del Pannello di controllo.
   Data        Ora      Versione        Dimensioni  Nome file     Piattaforma   --------------------------------------------------------------------------    28/02/2003  16.17    5.1.2600.1178    1.895.424  Ntkrnlmp.exe  i386   28/02/2003  16.17    5.1.2600.1178    1.951.232  Ntkrnlpa.exe  i386   28/02/2003  16.17    5.1.2600.1178    1.923.584  Ntkrpamp.exe  i386   28/02/2003  16.17    5.1.2600.1178    1.927.424  Ntoskrnl.exe  i386   28/02/2003  16.17    5.1.2600.1178    5.826.432  Ntkrnlmp.exe  ia-64    28/02/2003  16.17    5.1.2600.1178    5.736.704  Ntoskrnl.exe  ia-64

Windows Server 2003

Sebbene il problema si manifesti con una chiamata della funzione UnmapViewOfFile, la modifica al codice necessaria è interna al kernel. Dal momento che sussiste il rischio di modificare funzioni fondamentali di gestione della memoria, non è disponibile un hotfix per Windows Server 2003. La correzione relativa al codice per Windows Server 2003 sarà disponibile in Windows Server 2003 Service Pack 1.

I programmi che potrebbero essere interessati da questo problema possono essere individuati utilizzando Performance Monitor. A questo scopo, attenersi alla seguente procedura:
  1. Creare un file di registro di Performance Monitor attenendosi alla procedura descritta nell'articolo 248345 della Microsoft Knowledge Base o utilizzando la procedura guidata di Performance Monitor.
    Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
    248345 Creazione di un file registro utilizzando Monitor di sistema in Windows 2000
  2. Registrare le attività del server nei periodi di intensa attività.
  3. Interrompere la registrazione di Performance Monitor e verificare Picco dimensioni working set nell'oggetto prestazione Thread. Individuare qualsiasi processo in cui le dimensioni del working set hanno superato i 500 MB.
  4. Sottrarre il valore delle dimensioni del working set di ogni processo individuato al passaggio 3 dalla voce corrispondente Byte privati nell'oggetto prestazione Thread.
Se il working set impostato per un processo è di 500 MB superiore ai byte privati, il programma potrebbe utilizzare visualizzazioni di file mappati di maggiori dimensioni e potrebbe risentire del degrado delle prestazioni dalla chiamata della funzione UnmapViewOfFile. Se questi programmi si bloccano in modo casuale o per lunghi periodi di tempo, potrebbe essere necessario eseguire una verifica del codice o un'analisi di debug per verificare se i programmi hanno questo problema.

Se il programma è affetto da questo problema di prestazioni, sono disponibili le seguenti soluzioni relative al codice per Windows Server 2003 fin quando non sarà disponibile Windows Server 2003 Service Pack 1:
  1. Rimuovere le chiamate alla funzione UnmapViewOfFile nei programmi in esecuzione in Windows Server 2003. Questa chiamata è necessaria solo se il processo deve eseguire il mapping di più sezioni di memoria allo stesso indirizzo di memoria. Il sistema operativo pulirà le sezioni condivise non appena viene chiuso l'ultimo thread.
  2. Qualora fosse necessario chiamare la funzione UnmapViewViewOfFile, scrivere un nuovo programma per creare un oggetto processo (CreateJobObject). Utilizzare la funzione SetInformationJobObject per impostare le dimensioni massime del working set su 500 MB impostando la proprietà MaximumWorkingSetSize del parametro _JOBOBJECT_BASIC_LIMIT_INFORMATION. Questa impostazione è 24 MB con l'opzione /3GB. Associare tutti i processi necessari all'oggetto processo.
Questo programma dovrebbe essere eseguito una volta che i processi necessari risultano già avviati. Se uno di questi processi viene riavviato, il programma dovrà essere eseguito nuovamente. È possibile che non si verifichi un grave degrado delle prestazioni se si limitano le dimensioni del working set del processo. Se vi è molta RAM disponibile nel sistema, le pagine rimosse dal working set del processo verranno inserire nell'elenco Standby. Se si verifica un errore nella pagina, verrà probabilmente eseguita dalla pagina nell'elenco Standby della memoria fisica. È necessario eseguire benchmark delle prestazioni per determinare l'effetto delle prestazioni reale per questa soluzione.

Status
Microsoft ha confermato che questo problema si verifica con i prodotti elencati nella sezione "Le informazioni in questo articolo si applicano a" del presente articolo. Questo problema è stato corretto per la prima volta in Windows XP Service Pack 2. È previsto che l'hotfix sia incluso in Windows Server 2003 Service Pack 1.
P4, pentium 4, pentium IV, multiproc, dualproc, hyperthreading, kernel, slow performance, office, word, MapViewOfFile, 100% CPU, high CPU usage, delays of 4 seconds
Proprietà

ID articolo: 815227 - Ultima revisione: 01/26/2007 19:29:00 - Revisione: 5.7

  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional
  • kbtshoot kbbug kbfix kbqfe kbenv kbwinxpsp2fix kbwinxppresp2fix kbhotfixserver KB815227
Feedback