Le programme de sauvegarde échoue lorsque vous sauvegardez un volume système volumineux

Cet article fournit une résolution du problème d’échec du programme de sauvegarde lorsque vous sauvegardez un volume système volumineux.

S’applique à : Windows Server 2012 R2, Windows 10 (toutes les éditions)
Numéro de la base de connaissances d’origine : 304101

Symptômes

Lorsque vous essayez de créer une sauvegarde à l’aide de NTBackup.exe ou d’un programme de sauvegarde tiers qui utilise l’API de sauvegarde NT, la sauvegarde peut ne pas être effectuée correctement. Ce comportement peut se produire même si vous exécutez le programme localement sur le serveur. En outre, vous pouvez rencontrer un ou plusieurs des symptômes suivants :

  • Un ou plusieurs des messages d’erreur suivants s’affichent dans le journal de l’application :
    Message d’erreur 1

    ERREUR 1450 : Les ressources système sont insuffisantes pour terminer le service demandé.

    ERREUR 1450 : / hex 0x5aa ERROR_NO_SYSTEM_RESOURCES

    Erreur du système d’exploitation 1450 Ressources système insuffisantes pour terminer le service demandé.

    Échec de l’écriture sur « appareil », status = 1450

    Message d’erreur 2

    ERREUR 1130 : Le stockage serveur disponible est insuffisant pour traiter cette commande.

    ERREUR 1130 / 0x46a ERROR_NOT_ENOUGH_SERVER_MEMORY hexadécimal

    L’opération de sauvegarde ou de restauration se termine anormalement.

  • Les messages ID d’événement 2020 et ID d’événement 2021 peuvent être générés par le service Serveur.

    Remarque

    En règle générale, les messages ID d’événement 2020 et ID d’événement 2021 n’apparaissent pas.

  • Si vous exécutez le programme de sauvegarde Hewlett-Packard (HP) OmniBack, vous pouvez recevoir un message d’erreur similaire à celui-ci :

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

    Impossible de lire 57256 octets au 436176408 de décalage ( :1) : ([1450]
    Les ressources système sont insuffisantes pour terminer le service demandé.).

  • Si vous affichez l’onglet Performances dans le Gestionnaire des tâches Windows, vous remarquez que la mémoire du noyau non paginé est faible.

Remarque

Vous pouvez recevoir ces messages d’erreur pour des raisons qui ne sont pas liées au problème décrit dans cet article. Si vous recevez ces messages d’erreur uniquement lorsque vous sauvegardez des volumes système volumineux, les deux causes les plus probables sont celles décrites dans cet article.

Pour déterminer si vous rencontrez ce problème, démarrez le Gestionnaire des tâches Windows, puis cliquez sur l’onglet Performances . En bas à droite, recherchez la zone Mémoire du noyau (K), puis notez la valeur de Paged. Vous pouvez rencontrer ce problème dans Microsoft Windows 2000 ou microsoft Windows NT 4.0 lorsque cette valeur atteint environ 160 mégaoctets (Mo). Vous pouvez également rencontrer ce problème dans Microsoft Windows Server 2003 lorsque cette valeur dépasse 160 Mo. Si vous avez défini la clé de Registre pour la mémoire du pool paginé sur une valeur plus élevée, vous ne rencontrerez pas ce problème tant qu’une valeur beaucoup plus élevée de mémoire du pool paginé n’est pas utilisée (le problème peut se produire lorsque l’utilisation de la mémoire du pool paginé atteint environ 80 % de la valeur définie). Si le gflags paramètre est activé pour les balises de pool et que vous utilisez l’utilitaire Poolmon, vous voyez une utilisation plus élevée de la balise MmSt. Il s’agit de la balise de pool utilisée pour mapper la mémoire du système d’exploitation utilisée pour suivre les fichiers partagés.

Cause

Les deux causes de ce problème sont liées. La cause la plus fréquente est répertoriée en premier :

  • Plus de fichiers sont ouverts que le gestionnaire de cache de mémoire ne peut gérer. Par conséquent, le gestionnaire de cache a épuisé la mémoire du pool paginé disponible.

  • Le programme de sauvegarde a essayé de sauvegarder un fichier dont la taille est supérieure à celle à laquelle l’API de sauvegarde peut accéder sur cette version du système d’exploitation. Il a le même résultat (autrement dit, le pool paginé est épuisé).

    Remarque

    Ce deuxième problème est plus susceptible de se produire sur un ordinateur Microsoft Windows NT 4.0.

La résolution de chaque problème varie selon que vous rencontrez le problème dans Windows Server 2003, Microsoft Windows 2000 ou Windows NT 4.0.

Résolution

Windows Server 2003 et Windows 2000

Importante

Cette section, méthode ou tâche contient des étapes vous indiquant comment modifier le Registre. Toutefois, des problèmes graves peuvent se produire si vous modifiez le Registre de façon incorrecte. Par conséquent, veillez à suivre ces étapes scrupuleusement. Pour une meilleure protection, sauvegardez le registre avant de le modifier. Vous pouvez alors le restaurer en cas de problème. Pour plus d’informations sur la procédure de sauvegarde et de restauration du Registre, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :
322756 Comment sauvegarder et restaurer le Registre dans Windows

Vous devrez peut-être modifier deux paramètres de Registre. Modifiez toujours le premier paramètre. Selon la configuration de votre système, vous devrez peut-être également modifier le deuxième paramètre.

Paramètre de Registre 1

  1. Cliquez sur Démarrer, puis Exécuter, entrez regedit dans la zone Ouvrir et cliquez sur OK.

  2. Recherchez la sous-clé de Registre suivante, puis cliquez dessus :
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

  3. Dans le menu Edition, pointez sur Nouveau, puis cliquez sur Valeur DWORD.

  4. Tapez PoolUsageMaximum comme nom d’entrée, puis appuyez sur Entrée.

  5. Cliquez avec le bouton droit sur PoolUsageMaximum, puis cliquez sur Modifier.

  6. Cliquez sur Décimal.

  7. Dans la zone Données de la valeur , tapez 60, puis cliquez sur OK.

    Importante

    • Utilisez 60 comme valeur initiale. Si votre sauvegarde échoue, utilisez 40 comme valeur. Si cela ne fonctionne pas, vous devez modifier le comportement de votre programme de sauvegarde pour réduire la demande de pool paginé. Si la valeur fonctionne, vous pouvez augmenter la valeur d’environ 25 % jusqu’à ce que la sauvegarde ne fonctionne pas. Si la sauvegarde échoue, utilisez le deuxième paramètre de Registre décrit dans cet article.
    • Assurez-vous que la valeur de ce paramètre de Registre n’est pas supérieure à 60.
    • Si vous utilisez le commutateur /3GB, utilisez 40 comme paramètre initial. Notez que cette valeur est une valeur de pourcentage.
  8. Quittez l’Éditeur du Registre.

  9. Restart your computer.

Étant donné que vous devez tester ces paramètres pendant les sauvegardes les plus stressantes, vous devrez peut-être attendre un mois pour qu’un cycle de sauvegarde entier se termine si vous n’êtes pas sûr que la sauvegarde consomme le plus de ressources. En raison de cette situation, Microsoft vous recommande de tester d’abord les valeurs faibles. Pour plus d’informations, cliquez sur le numéro d’article suivant pour afficher l’article dans la Base de connaissances Microsoft :

312362 Server ne peut pas allouer de mémoire à partir du pool paginé système

Paramètre de Registre 2

  1. Cliquez sur Démarrer, sur Exécuter, tapez regedit dans la zone Ouvrir, puis cliquez sur OK.

  2. Recherchez la sous-clé de Registre suivante, puis cliquez dessus :
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

  3. Dans le menu Edition, pointez sur Nouveau, puis cliquez sur Valeur DWORD.

  4. Tapez PagedPoolSize comme nom d’entrée, puis appuyez sur Entrée.

  5. Cliquez avec le bouton droit sur PagedPoolSize, puis cliquez sur Modifier.

  6. Cliquez sur Hexadécimal.

  7. Dans la zone Données de la valeur , tapez la valeur FFFFFFFFFF, puis cliquez sur OK.

    Importante

    • La définition de PagedPoolSize sur 0xFFFFFFFF (-1) alloue le pool paginé maximal au lieu d’autres ressources à l’ordinateur. Cela est généralement requis sur un contrôleur de domaine ou un serveur Terminal Server. Par défaut, la plupart des systèmes Windows 2000 semblent être limités à une taille maximale de pool paginé de 160 Mo. Vous pouvez le vérifier en téléchargeant les débogueurs de noyau à partir du site Web public et en ouvrant un vidage du noyau dans le débogueur que vous souhaitez utiliser. La commande à utiliser est !vm . Cela montre un pool paginé maximum de 163840 Ko, par exemple. L’ajout de cette valeur réduit les entrées de table de pages (PTE) disponibles sur un système et étend le pool paginé maximum à 343 Mo dans Windows 2000. La taille maximale du pool paginé peut être étendue à une valeur supérieure dans Windows Server 2003.

      Les valeurs par défaut et maximales du pool paginé pour Windows Server 2003 sont beaucoup plus élevées que dans Windows 2000. En règle générale, les valeurs de Windows Server 2003 sont supérieures d’au moins 50 % à celles de Windows 2000. Ces valeurs plus grandes rendent plus improbable que vous rencontriez le problème où les valeurs de pool paginées contribuent au problème décrit dans cet article. Toutefois, il est toujours possible que ce problème se produise.

    • Cette valeur limite les PTÉ système disponibles. Les PTE sont une autre ressource système non liée que votre système utilise. Ce paramètre peut entraîner l’arrêt inattendu de votre système d’exploitation et l’affichage d’une erreur 0x3F d’arrêt sur un écran bleu au démarrage. Vous pouvez récupérer à partir de cela à l’aide de l’option Dernier bon redémarrage connu dans le menu de redémarrage du système ou la console de récupération. Utilisez Analyseur de performances pour afficher le compteur Entrées de table de pages système libres. Vous pouvez ajouter le paramètre PagePoolSize si les valeurs libres observées sont supérieures à 40 000.

    • Si vous exécutez /3Gb et /PAE ensemble, ne définissez pas ce paramètre sans tests approfondis et avant d’établir exactement le nombre de PTES système que vous devez avoir dans votre environnement. Vous verrez probablement des valeurs comprises entre 10 000 et 20 000 sans frais. Utilisez les articles pour configurer la mémoire du pool paginé, mais ne jamais descendre en dessous de 10 000 PTE système gratuits. Ne définissez pas cette valeur sur une autre valeur si vous utilisez le commutateur /3GB. Les seules valeurs prises en charge sont 0, 0A000000 et FFFFFFFFFF.

  8. Quittez l’Éditeur du Registre.

  9. Restart your computer.

Windows NT 4.0

Importante

Cette section, méthode ou tâche contient des étapes vous indiquant comment modifier le Registre. Toutefois, des problèmes graves peuvent se produire si vous modifiez le Registre de façon incorrecte. Par conséquent, veillez à suivre ces étapes scrupuleusement. Pour une meilleure protection, sauvegardez le registre avant de le modifier. Vous pouvez alors le restaurer en cas de problème. Pour plus d’informations sur la procédure de sauvegarde et de restauration du Registre, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :
322756 Comment sauvegarder et restaurer le Registre dans Windows

Remarque

Vous devez utiliser Windows NT 4.0 Service Pack 6a.

Résoudre le premier problème

  1. Lancez un Éditeur du Registre (Regedt32.exe).

  2. Recherchez la sous-clé de Registre suivante, puis cliquez dessus :
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory_Management

  3. Dans le menu Édition, cliquez sur Ajouter une valeur, puis ajoutez la valeur de Registre suivante :
    Nom de la valeur : UnusedFileCache
    Type de données : REG_DWORD
    Radix : décimal
    Données de valeur : 15

    Remarque

    Ce nombre représente le pourcentage de pool qui peut être consommé par les segments inutilisés. La valeur 0 indique que le système utilisera le comportement par défaut similaire à Windows NT 4.0 Service Pack 3. Une valeur comprise entre 5 et 40 indique que le système va supprimer le cache de fichiers inutilisé en fonction de l’utilisation du pool. 5 est le plus agressif (c’est-à-dire, il augmente le moins la taille du cache) et 40 est le moins agressif (autrement dit, il permet au cache de croître le plus avant de le découper).)

    Importante

    • Utilisez 15 comme valeur initiale. Si votre sauvegarde échoue, utilisez 5 comme valeur. Si cela ne fonctionne pas, vous devez modifier le comportement de votre programme de sauvegarde pour réduire la demande de pool paginé, ou vous devez effectuer une mise à niveau vers Windows 2000, où plus du double du pool paginé est disponible (pour plus d’informations, consultez la section « Windows 2000 »). Si cette valeur fonctionne, vous pouvez l’augmenter d’environ 20 % jusqu’à ce que la sauvegarde échoue. Si la sauvegarde échoue, utilisez le deuxième paramètre de Registre décrit dans cet article.

    • Si vous utilisez le commutateur /3GB, utilisez 5 comme paramètre initial.

  4. Quittez l’Éditeur du Registre.

  5. Restart your computer.

Étant donné que vous devez tester ces paramètres pendant les sauvegardes les plus stressantes, vous devrez peut-être attendre un mois pour qu’un cycle de sauvegarde entier se termine si vous n’êtes pas sûr que la sauvegarde consomme le plus de ressources. Pour cette raison, Microsoft vous recommande de tester d’abord les valeurs faibles.

Résoudre le deuxième problème

Une solution possible consiste à restreindre la sauvegarde afin qu’elle sauvegarde un fichier à la fois. Cela peut ou non fonctionner en fonction de la taille des fichiers à sauvegarder. (Il est censé fonctionner sur les fichiers dont la taille est inférieure à 180 gigaoctets [Go].) Vous pouvez également essayer cette résolution si vous sauvegardez plusieurs fichiers volumineux, mais que chaque fichier est inférieur à 180 Go. Suivez également les étapes pour résoudre le premier problème. Pour les fichiers de plus de 180 Go, aucune solution de contournement n’existe. Par conséquent, vous devez mettre à niveau le système vers Windows 2000. Si vous essayez de sauvegarder le système à distance comme solution de contournement, vous rencontrerez le même problème.

  1. Lancez un Éditeur du Registre (Regedt32.exe).

  2. Recherchez la sous-clé de Registre suivante, puis cliquez dessus :
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory_Management

  3. Dans le menu Édition, cliquez sur Ajouter une valeur, puis ajoutez la valeur de Registre suivante :
    Nom de la valeur : DisablePagedPoolHint
    Type de données : REG_DWORD
    Radix : décimal
    Données de la valeur : 1

  4. Quittez l’Éditeur du Registre.

  5. Restart your computer.

État

Microsoft a confirmé l’existence de ce problème dans les produits Microsoft répertoriés dans la section « Produits concernés ».

Plus d’informations

NTBackupread et NTBackupwrite utilisent toutes deux des E/S mises en mémoire tampon. Cela signifie que Windows NT met en cache les E/S effectuées sur le flux. Il s’agit également de la seule API qui sauvegarde les métadonnées d’un fichier. Ce cache est extrait de ressources limitées : à savoir le pool et le pool non paginé. Pour cette raison, un grand nombre de fichiers ou de fichiers volumineux peut entraîner une faible exécution des ressources du pool.

Plusieurs facteurs peuvent épuiser l’approvisionnement en mémoire du pool paginé. Vous pouvez activer l’étiquetage des pools et effectuer poolsnaps des intervalles de temps différents pour vous aider à comprendre quel pilote épuise la mémoire du pool paginé. Si indique poolsnaps que la balise MmSt (section de prototype d’objet DET) est le plus grand consommateur et dépasse 80 Mo, un grand nombre de fichiers sont probablement ouverts sur le serveur.

La mémoire maximale possible du pool paginé sur un ordinateur est de 343 Mo de pool paginé dans Windows 2000 avec la clé de pool paginée définie sur FFFFFFFFFF, ou 164 Mo si la clé n’est pas présente. La mémoire maximale possible du pool paginé est de 192 Mo dans Windows NT. Par défaut, le Gestionnaire de mémoire tente de réduire la mémoire du pool paginé alloué lorsque le système atteint 80 % du pool paginé total. Par exemple, 80 % de 343 Mo est de 274 Mo. Si le Gestionnaire de mémoire ne peut pas effectuer une taille suffisamment rapide pour suivre la demande, l’événement répertorié dans la section « Symptômes » de cet article peut se produire. Si vous réglez le Gestionnaire de mémoire pour démarrer le processus de découpage plus tôt (par exemple, lorsqu’il atteint 40 %), l’ordinateur peut suivre la demande de pool paginé pendant les pics d’utilisation soudains afin qu’il ne soit pas à court de mémoire du pool paginé.

Les produits tiers mentionnés dans le présent article sont fabriqués par des sociétés indépendantes de Microsoft. Microsoft exclut toute garantie, implicite ou autre, concernant les performances ou la fiabilité de ces produits.