Il programma di backup non riesce quando si esegue il backup di un volume di sistema di grandi dimensioni

Questo articolo fornisce una soluzione per il problema che il programma di backup non riesce quando si esegue il backup di un volume di sistema di grandi dimensioni.

Si applica a: Windows Server 2012 R2, Windows 10 tutte le edizioni
Numero KB originale: 304101

Sintomi

Quando si tenta di creare un backup usando NTBackup.exe o un programma di backup di terze parti che usa l'API di backup NT, il backup potrebbe non essere completato correttamente. Questo comportamento può verificarsi anche se si esegue il programma in locale nel server. Inoltre, è possibile che si verifichino uno o più dei sintomi seguenti:

  • Nel log dell'applicazione vengono visualizzati uno o più dei messaggi di errore seguenti:
    Messaggio di errore 1

    ERRORE 1450: risorse di sistema insufficienti per completare il servizio richiesto.

    ERRORE 1450: /hex 0x5aa ERROR_NO_SYSTEM_RESOURCES

    Errore del sistema operativo 1450 Risorse di sistema insufficienti per completare il servizio richiesto.

    Scrittura su "dispositivo" non riuscita, stato = 1450

    Messaggio di errore 2

    ERRORE 1130: spazio di archiviazione del server insufficiente per elaborare questo comando.

    ERRORE 1130/esadecimale 0x46a ERROR_NOT_ENOUGH_SERVER_MEMORY

    Operazione di backup o ripristino terminata in modo anomalo.

  • I messaggi id evento 2020 e ID evento 2021 possono essere generati dal servizio Server.

    Nota

    In genere, i messaggi ID evento 2020 e ID evento 2021 non vengono visualizzati.

  • Se si esegue il programma di backup OmniBack Hewlett-Packard (HP), è possibile che venga visualizzato un messaggio di errore simile a quello seguente:

    [81:78] C:\nomecartella\file.name

    Impossibile leggere 57256 byte all'offset 436176408(:1): ([1450]
    Risorse di sistema insufficienti per completare il servizio richiesto.

  • Se si visualizza la scheda Prestazioni in Gestione attività Windows, si noterà che la memoria del kernel non di paging è insufficiente.

Nota

È possibile che vengano visualizzati questi messaggi di errore per motivi non correlati al problema descritto in questo articolo. Se si ricevono questi messaggi di errore solo quando si esegue il backup di volumi di sistema di grandi dimensioni, le due cause più probabili sono quelle descritte in questo articolo.

Per determinare se si verifica questo problema, avviare Gestione attività Windows e quindi fare clic sulla scheda Prestazioni . In basso a destra individuare l'area Memoria kernel (K) e quindi prendere nota del valore di Paged. Questo problema può verificarsi in Microsoft Windows 2000 o in Microsoft Windows NT 4.0 quando questo valore raggiunge circa 160 megabyte (MB). In alternativa, questo problema può verificarsi in Microsoft Windows Server 2003 quando questo valore supera i 160 MB. Se la chiave del Registro di sistema per la memoria del pool di paging è impostata su un valore superiore, questo problema non si verificherà finché non viene usato un valore molto più elevato della memoria del pool di paging (il problema può verificarsi quando l'utilizzo della memoria del pool di paging raggiunge circa l'80% del valore impostato). Se l'impostazione gflags è attivata per i tag del pool e si usa l'utilità Poolmon, viene visualizzato un utilizzo più elevato del tag MmSt. È il tag del pool usato per eseguire il mapping della memoria del sistema operativo usata per tenere traccia dei file condivisi.

Causa

Le due cause di questo problema sono correlate. La causa più frequente è elencata per prima:

  • Sono aperti più file di quanti la gestione cache di memoria possa gestire. Di conseguenza, la gestione cache ha esaurito la memoria del pool di paging disponibile.

  • Il programma di backup ha tentato di eseguire il backup di un file le cui dimensioni sono maggiori di quelle a cui l'API di backup può accedere in tale versione del sistema operativo. Ha lo stesso risultato, ovvero il pool di paging è esaurito.

    Nota

    Questo secondo problema è più probabile che si verifichi in un computer basato su Microsoft Windows NT 4.0.

La risoluzione di ogni problema varia a seconda che si verifichi il problema in Windows Server 2003, in Microsoft Windows 2000 o in Windows NT 4.0.

Risoluzione

Windows Server 2003 e Windows 2000

Importante

In questa sezione, metodo o attività viene illustrata la procedura per modificare il Registro di sistema. Poiché l'errata modifica del Registro di sistema può causare seri problemi, Di conseguenza, attenersi scrupolosamente alla procedura indicata. Per una maggiore protezione, eseguire il backup del Registro di sistema prima di modificarlo. In questo modo sarà possibile ripristinare il Registro di sistema se si verifica un problema. Per ulteriori informazioni sull'esecuzione del backup e del ripristino del Registro di sistema, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
322756 Come eseguire il backup e il ripristino del Registro di sistema in Windows

Potrebbe essere necessario modificare due impostazioni del Registro di sistema. Modificare sempre la prima impostazione. A seconda della configurazione del sistema, potrebbe anche essere necessario modificare la seconda impostazione.

Impostazione del Registro di sistema 1

  1. Fare clic su Start, Esegui, digitare regedit nella casella Apri, quindi fare clic su OK.

  2. Individuare e selezionare la seguente sottochiave del Registro di sistema:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

  3. Scegliere Nuovo dal menu Modifica, quindi fare clic su Valore DWORD.

  4. Digitare PoolUsageMaximum come nome della voce e quindi premere INVIO.

  5. Fare clic con il pulsante destro del mouse su PoolUsageMaximum e quindi scegliere Modifica.

  6. Fare clic su Decimal.

  7. Nella casella Dati valore digitare 60 e quindi fare clic su OK.

    Importante

    • Usare 60 come valore iniziale. Se il backup non riesce, usare 40 come valore. Se non funziona, è necessario modificare il comportamento del programma di backup per ridurre la domanda di pool di paging. Se il valore funziona, è possibile aumentare il valore di circa il 25% fino a quando il backup non funziona. Se il backup non riesce, usare la seconda impostazione del Registro di sistema descritta in questo articolo.
    • Assicurarsi che il valore per questa impostazione del Registro di sistema non sia superiore a 60.
    • Se si usa l'opzione /3GB, usare 40 come impostazione iniziale. Si noti che questo valore è un valore percentuale.
  8. Chiudere l'editor del Registro di sistema.

  9. Restart your computer.

Poiché è necessario testare queste impostazioni durante i backup più stressanti, potrebbe essere necessario attendere un mese per il completamento di un intero ciclo di backup se non si è certi di quale backup utilizza la maggior parte delle risorse. A causa di questa situazione, Microsoft consiglia di testare prima i valori bassi. Per altre informazioni, fare clic sul numero dell'articolo seguente per visualizzare l'articolo della Microsoft Knowledge Base:

312362 Server non è in grado di allocare memoria dal pool di paging di sistema

Impostazione del Registro di sistema 2

  1. Fare clic su Start, fare clic su Esegui, digitare regedit nella casella Apri e quindi fare clic su OK

  2. Individuare e selezionare la seguente sottochiave del Registro di sistema:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

  3. Scegliere Nuovo dal menu Modifica, quindi fare clic su Valore DWORD.

  4. Digitare PagedPoolSize come nome della voce e quindi premere INVIO.

  5. Fare clic con il pulsante destro del mouse su PagedPoolSize e quindi scegliere Modifica.

  6. Fare clic su Esadecimale.

  7. Nella casella Dati valore digitare un valore di FFFFFFFF e quindi fare clic su OK.

    Importante

    • L'impostazione di PagedPoolSize su 0xFFFFFFFF (-1) alloca al computer il pool di paging massimo anziché altre risorse. Questa operazione è in genere necessaria in un controller di dominio o in un server terminale. Per impostazione predefinita, la maggior parte dei sistemi Windows 2000 sembra essere limitata a una dimensione massima del pool di paging di 160 MB. È possibile verificarlo scaricando i debugger del kernel dal sito Web pubblico e aprendo un dump del kernel nel debugger che si vuole usare. Il comando da usare è !vm . Viene visualizzato un pool di paging massimo di 163840 KB, ad esempio. L'aggiunta di questo valore riduce le voci della tabella di pagina disponibili in un sistema ed estende il pool di paging massimo a 343 MB in Windows 2000. Le dimensioni massime del pool di paging possono essere estese a un valore maggiore in Windows Server 2003.

      I valori predefiniti e massimi del pool di paging per Windows Server 2003 sono molto più grandi rispetto a Windows 2000. In genere, i valori di Windows Server 2003 sono superiori di almeno il 50% rispetto ai valori trovati in Windows 2000. Questi valori più grandi rendono più improbabile che si verifichi il problema in cui i valori del pool di paging contribuiscono al problema descritto in questo articolo. Tuttavia, è ancora possibile che questo problema si verifichi.

    • Questo valore limita le PTE di sistema disponibili. I PTE sono un'altra risorsa di sistema non correlata usata dal sistema. Questa impostazione può causare l'arresto imprevisto del sistema operativo e la visualizzazione di un errore di arresto 0x3F su una schermata blu all'avvio. È possibile eseguire il ripristino usando l'opzione Ultimo riavvio valido noto nel menu di riavvio del sistema o nella console di ripristino. Utilizzare Monitor prestazioni per visualizzare il contatore Voci tabella pagina sistema gratuito. È possibile aggiungere l'impostazione PagePoolSize se i valori liberi osservati sono superiori a 40.000.

    • Se si eseguono /3GB e /PAE insieme, non impostare questa impostazione senza test approfonditi e prima di stabilire esattamente quanti PTES di sistema è necessario avere nell'ambiente. È probabile che i valori vengano visualizzati nell'intervallo compreso tra 10.000 e 20.000 gratuiti. Usare gli articoli per configurare la memoria del pool di paging, ma non scendere mai sotto i 10.000 PTE di sistema gratuiti. Non impostare questo valore su nessun altro valore se si usa l'opzione /3GB. Gli unici valori supportati sono 0, 0A000000 e FFFFFFFF.

  8. Chiudere l'editor del Registro di sistema.

  9. Restart your computer.

Windows NT 4.0

Importante

In questa sezione, metodo o attività viene illustrata la procedura per modificare il Registro di sistema. Poiché l'errata modifica del Registro di sistema può causare seri problemi, Di conseguenza, attenersi scrupolosamente alla procedura indicata. Per una maggiore protezione, eseguire il backup del Registro di sistema prima di modificarlo. In questo modo sarà possibile ripristinare il Registro di sistema se si verifica un problema. Per ulteriori informazioni sull'esecuzione del backup e del ripristino del Registro di sistema, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
322756 Come eseguire il backup e il ripristino del Registro di sistema in Windows

Nota

È necessario usare Windows NT 4.0 Service Pack 6a.

Risolvere il primo problema

  1. Avviare Editor del Registro di sistema (Regedt32.exe).

  2. Individuare e selezionare la seguente sottochiave del Registro di sistema:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory_Management

  3. Nel menu Modifica, fare clic su Aggiungi valore e quindi aggiungere il valore del Registro di sistema seguente:
    Nome valore: UnusedFileCache
    Tipo di dati: REG_DWORD
    Radix: Decimal
    Dati valore: 15

    Nota

    Questo numero rappresenta la percentuale di pool che può essere utilizzata dai segmenti inutilizzati. Il valore 0 indica che il sistema userà il comportamento predefinito simile a Windows NT 4.0 Service Pack 3. Un valore compreso tra 5 e 40 indica che il sistema taglierà la cache dei file inutilizzata in base all'utilizzo del pool. 5 è più aggressivo (ovvero aumenta meno le dimensioni della cache) e 40 è meno aggressivo (vale a fare in modo che la cache aumenti il più grande prima di tagliare la cache).

    Importante

    • Usare 15 come valore iniziale. Se il backup non riesce, usare 5 come valore. Se questo non funziona, è necessario modificare il comportamento del programma di backup per ridurre la domanda di pool di paging oppure è necessario eseguire l'aggiornamento a Windows 2000, in cui è disponibile più del doppio del pool di paging (per altre informazioni, vedere la sezione "Windows 2000"). Se questo valore funziona, è possibile aumentarlo di circa il 20% fino a quando il backup non ha esito negativo. Se il backup non riesce, usare la seconda impostazione del Registro di sistema descritta in questo articolo.

    • Se si usa l'opzione /3GB, usare 5 come impostazione iniziale.

  4. Chiudere l'editor del Registro di sistema.

  5. Restart your computer.

Poiché è necessario testare queste impostazioni durante i backup più stressanti, potrebbe essere necessario attendere un mese per il completamento di un intero ciclo di backup se non si è certi di quale backup utilizza la maggior parte delle risorse. Per questo motivo, Microsoft consiglia di testare prima i valori bassi.

Risolvere il secondo problema

Una possibile soluzione consiste nel limitare il backup in modo da eseguire il backup di un file alla volta. Può funzionare o meno a seconda delle dimensioni dei file di cui eseguire il backup. Si prevede che funzioni su file di dimensioni inferiori a 180 gigabyte [GB].) È anche possibile provare questa risoluzione se si esegue il backup di diversi file di grandi dimensioni, ma ogni file è inferiore a 180 GB. Seguire i passaggi per risolvere anche il primo problema. Per i file di dimensioni superiori a 180 GB, non esiste alcuna soluzione alternativa. Pertanto, è necessario aggiornare il sistema a Windows 2000. Se si tenta di eseguire il backup del sistema in remoto come soluzione alternativa, si verificherà lo stesso problema.

  1. Avviare Editor del Registro di sistema (Regedt32.exe).

  2. Individuare e selezionare la seguente sottochiave del Registro di sistema:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory_Management

  3. Nel menu Modifica, fare clic su Aggiungi valore e quindi aggiungere il valore del Registro di sistema seguente:
    Nome valore: DisablePagedPoolHint
    Tipo di dati: REG_DWORD
    Radix: Decimal
    Dati valore: 1

  4. Chiudere l'editor del Registro di sistema.

  5. Restart your computer.

Stato

Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".

Ulteriori informazioni

NTBackupread e NTBackupwrite usano entrambi operazioni di I/O memorizzate nel buffer. Significa che Windows NT memorizza nella cache l'I/O eseguito sul flusso. È anche l'unica API che eseguirà il backup dei metadati di un file. Questa cache viene estratta da risorse limitate, ovvero pool e pool non di paging. Per questo motivo, un numero elevato di file o file di grandi dimensioni può causare l'esecuzione insufficiente delle risorse del pool.

Diversi fattori possono esaurire l'offerta di memoria del pool di paging. È possibile attivare l'assegnazione di tag al pool e richiedere poolsnaps intervalli di tempo diversi per comprendere quale driver sta esaurendo la memoria del pool di paging. Se indica poolsnaps che il tag MmSt (mm section object prototype PTEs) è il consumer più grande e ha più di 80 MB, un numero elevato di file è probabilmente aperto nel server.

La memoria massima del pool di paging possibile in un computer è di 343 MB di pool di paging in Windows 2000 con la chiave del pool di paging impostata su FFFFFFFF o di 164 MB se la chiave non è presente. La memoria massima del pool di paging possibile è di 192 MB in Windows NT. Per impostazione predefinita, Gestione memoria tenta di tagliare la memoria del pool di paging allocato quando il sistema raggiunge l'80% del pool di paging totale. Ad esempio, l'80% di 343 MB è 274 MB. Se Gestione memoria non è in grado di tagliare abbastanza velocemente per tenere il passo con la domanda, può verificarsi l'evento elencato nella sezione "Sintomi" di questo articolo. Se si ottimizza Gestione memoria per avviare il processo di taglio in precedenza (ad esempio, quando raggiunge il 40%), il computer può tenere il passo con la domanda del pool di paging durante l'utilizzo di picco improvviso in modo che non esaurisca la memoria del pool di paging.

I prodotti di terzi citati in questo articolo sono prodotti da società indipendenti da Microsoft. Microsoft non rilascia alcuna garanzia implicita o esplicita relativa alle prestazioni o all'affidabilità di tali prodotti.