Поделиться через


Программа резервного копирования завершается неудачно при резервном копировании большого системного тома

В этой статье приведено решение проблемы, из-за которую программа резервного копирования завершается неудачно при резервном копировании большого системного тома.

Исходный номер базы знаний: 304101

Симптомы

При попытке создать резервную копию с помощью NTBackup.exe или с помощью сторонней программы резервного копирования, которая использует API резервного копирования NT, резервное копирование может завершиться успешно. Это может произойти, даже если вы запускаете программу локально на сервере. Кроме того, вы можете столкнуться с одним или несколькими из следующих симптомов:

  • Одно или несколько следующих сообщений об ошибках отображаются в журнале приложений:
    Сообщение об ошибке 1

    ОШИБКА 1450: недостаточно системных ресурсов для завершения запрошенной службы.

    ОШИБКА 1450: / шестнадцатеричное 0x5aa ERROR_NO_SYSTEM_RESOURCES

    Ошибка операционной системы 1450 Недостаточные системные ресурсы существуют для завершения запрошенной службы.

    Сбой записи на устройстве, состояние = 1450

    Сообщение об ошибке 2

    ОШИБКА 1130. Недостаточно хранилища сервера доступен для обработки этой команды.

    ОШИБКА 1130 / шестнадцатеричный 0x46a ERROR_NOT_ENOUGH_SERVER_MEMORY

    Операция резервного копирования или восстановления завершается ненормально.

  • Сообщения идентификатора события 2020 и идентификатора события 2021 могут быть созданы службой сервера.

    Примечание.

    Как правило, сообщения идентификатора события 2020 и идентификатора события 2021 не отображаются.

  • При запуске программы резервного копирования Hewlett-Packard (HP) OmniBack может появиться сообщение об ошибке, аналогичное следующим:

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

    Не удается прочитать 57256 байт в смещение 436176408(:1): ([1450]
    Недостаточно системных ресурсов для завершения запрошенной службы.).

  • Если вы просматриваете вкладку "Производительность" в диспетчере задач Windows, обратите внимание, что уровень некэшированной памяти ядра низкий.

Примечание.

Эти сообщения об ошибках могут возникать по причинам, которые не связаны с проблемой, описанной в этой статье. Если эти сообщения об ошибках возникают только при резервном копировании больших системных томов, наиболее вероятными причинами являются те, которые описаны в этой статье.

Чтобы определить, возникает ли эта проблема, запустите диспетчер задач Windows и перейдите на вкладку "Производительность ". В правом нижнем углу найдите область памяти ядра (K), а затем запишите значение paged. Эта проблема может возникнуть в Microsoft Windows 2000 или в Microsoft Windows NT 4.0, когда это значение достигает примерно 160 мегабайт (МБ). Кроме того, эта проблема может возникнуть в Microsoft Windows Server 2003, если это значение превышает 160 МБ. Если вы установили для раздела реестра для памяти пула страниц более высокое значение, эта проблема не будет возникать до тех пор, пока не будет использоваться гораздо более высокое значение памяти пула страниц (проблема может возникнуть, когда использование памяти пула страниц достигает около 80 процентов заданного значения). gflags Если вы включили параметр для тегов пула и используете служебную программу Poolmon, вы увидите более высокое использование тега MmSt. Это тег пула, используемый для сопоставления памяти операционной системы, которая используется для отслеживания общих файлов.

Причина

Две причины этой проблемы связаны. Ниже перечислены более частые причины:

  • Больше файлов открыты, чем диспетчер кэша памяти может обрабатывать. В результате диспетчер кэша исчерпал доступную память пула страниц.

  • Программа резервного копирования попыталась создать резервную копию файла, размер которого больше, чем API резервного копирования, может получить доступ к этой версии операционной системы. Он имеет тот же результат (т. е. исчерпан пул страниц).

    Примечание.

    Эта вторая проблема, скорее всего, возникает на компьютере под управлением Microsoft Windows NT 4.0.

Разрешение каждой проблемы зависит от того, возникла ли проблема в Windows Server 2003, в Microsoft Windows 2000 или в Windows NT 4.0.

Решение

Windows Server 2003 и Windows 2000

Важно!

В этот раздел, описание метода или задачи включены действия, содержащие указания по изменению параметров реестра. Однако неправильное изменение параметров реестра может привести к возникновению серьезных проблем. Поэтому убедитесь, что вы внимательно выполните следующие действия. Для дополнительной защиты создайте резервную копию реестра перед его изменением. В этом случае реестр можно восстановить, если возникнет проблема. Дополнительные сведения о создании резервной копии и восстановлении реестра см. в соответствующей статье базы знаний Майкрософт:
322756 Резервное копирование и восстановление реестра в Windows

Возможно, потребуется изменить два параметра реестра. Всегда изменяйте первый параметр. В зависимости от конфигурации системы может потребоваться изменить второй параметр.

Параметр реестра 1

  1. Нажмите кнопку "Пуск", нажмите кнопку "Запустить", введите regedit в поле "Открыть " и нажмите кнопку "ОК".

  2. Найдите и откройте следующий подраздел реестра:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

  3. В меню "Изменить " наведите указатель мыши на "Создать" и нажмите кнопку "Значение DWORD".

  4. Введите PoolUsageMaximum в качестве имени записи и нажмите клавишу ВВОД.

  5. Щелкните правой кнопкой мыши PoolUsageMaximum и нажмите кнопку "Изменить".

  6. Нажмите кнопку "Десятичный".

  7. В поле "Значение" введите 60 и нажмите кнопку "ОК".

    Важно!

    • Используйте 60 в качестве исходного значения. Если резервное копирование не выполнено, используйте 40 в качестве значения. Если это не работает, необходимо изменить поведение программы резервного копирования, чтобы уменьшить спрос на пул страниц. Если значение работает, может потребоваться увеличить значение примерно на 25 процентов до тех пор, пока резервное копирование не будет работать. Если резервное копирование не выполнено, используйте второй параметр реестра, описанный в этой статье.
    • Убедитесь, что значение этого параметра реестра не превышает 60.
    • Если вы используете переключатель /3GB, используйте 40 в качестве начального параметра. Обратите внимание, что это значение является процентным значением.
  8. Закройте редактор реестра.

  9. Перезагрузите ваш компьютер.

Так как эти параметры необходимо протестировать во время самых напряженных резервных копий, может потребоваться дождаться всего цикла резервного копирования в течение всего цикла резервного копирования, если вы не уверены, какие резервные копии потребляют больше всего ресурсов. Из-за этой ситуации корпорация Майкрософт рекомендует сначала протестировать низкие значения. Для получения дополнительной информации щелкните приведенный ниже номер статьи базы знаний Майкрософт:

312362 Server не удается выделить память из системного пула страниц

Параметр реестра 2

  1. Нажмите кнопку "Пуск", нажмите кнопку "Запустить", введите regedit в поле "Открыть" и нажмите кнопку "ОК"

  2. Найдите и откройте следующий подраздел реестра:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

  3. В меню "Изменить" выберите "Создать", а затем нажмите "Значение DWORD".

  4. Введите PagedPoolSize в качестве имени записи и нажмите клавишу ВВОД.

  5. Щелкните правой кнопкой мыши PagedPoolSize и нажмите кнопку "Изменить".

  6. Щелкните шестнадцатеричный формат.

  7. В поле данных "Значение" введите значение FFFFFFFFFF и нажмите кнопку "ОК".

    Важно!

    • Задание PagedPoolSize для 0xFFFFFFFF (-1) выделяет максимальный пул страниц вместо других ресурсов компьютеру. Обычно это необходимо для контроллера домена или сервера терминала. По умолчанию большинство систем Windows 2000, как представляется, ограничены максимальным размером 160 МБ. Это можно проверить, скачав отладчики ядра с общедоступного веб-сайта и открыв дампа ядра в отладчике, который вы хотите использовать. Используемая команда — !vm. В этом примере отображается пул страниц не более 163840 КБ, например. Добавление этого значения уменьшает количество записей таблицы страниц (PTES), доступных в системе, и расширяет пул страниц до 343 МБ в Windows 2000. Максимальный размер пула страниц можно расширить до большего значения в Windows Server 2003.

      Значения пула по умолчанию и максимальные значения пула страниц для Windows Server 2003 гораздо больше, чем в Windows 2000. Как правило, значения Windows Server 2003 по крайней мере на 50 процентов выше, чем значения, найденные в Windows 2000. Эти большие значения делают это более маловероятной, что возникает проблема, из-за которой значения страничного пула способствуют проблеме, описанной в этой статье. Тем не менее, возможно, что эта проблема может возникнуть.

    • Это значение ограничивает доступные системные PTEs. PTEs — это другой не связанный системный ресурс, который используется системой. Этот параметр может привести к неожиданной остановке операционной системы и отображению ошибки остановки 0x3F на синем экране при запуске. Вы можете восстановиться, используя параметр «Последняя удачная конфигурация» в меню перезапуска системы или консоли восстановления. Используйте Монитор производительности для просмотра счетчика записей таблицы свободных страниц системы. Параметр PagePoolSize можно добавить, если наблюдаемые свободные значения превышают 40 000.

    • Если вы используете /3 ГБ и /PAE вместе, не устанавливайте этот параметр без обширного тестирования и перед установкой точного количества системных PTES, которые должны быть в вашей среде. Вероятно, вы увидите значения в диапазоне от 10 000 до 20 000 бесплатных. Используйте статьи для настройки памяти пула страниц, но никогда не упадет ниже 10 000 бесплатных системных PTEs. Если вы используете переключатель /3GB, этот параметр не присваивает значение другому значению. Единственными поддерживаемыми значениями являются 0, 0A000000 и FFFFFFFFFF.

  8. Закройте редактор реестра.

  9. Перезагрузите ваш компьютер.

Windows NT 4.0

Важно!

В этот раздел, описание метода или задачи включены действия, содержащие указания по изменению параметров реестра. Однако неправильное изменение параметров реестра может привести к возникновению серьезных проблем. Поэтому убедитесь, что вы внимательно выполните следующие действия. Для дополнительной защиты создайте резервную копию реестра перед его изменением. В этом случае реестр можно восстановить, если возникнет проблема. Дополнительные сведения о создании резервной копии и восстановлении реестра см. в соответствующей статье базы знаний Майкрософт:
322756 Резервное копирование и восстановление реестра в Windows

Примечание.

Необходимо использовать Windows NT 4.0 с пакетом обновления 6a.

Устранение первой проблемы

  1. Запустите редактор реестра (Regedt32.exe).

  2. Найдите и откройте следующий подраздел реестра:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory_Management

  3. В меню "Изменить " щелкните "Добавить значение", а затем добавьте следующее значение реестра:
    Имя значения: UnusedFileCache
    Тип данных: REG_DWORD
    Основание: десятичная
    Данные о значении: 15

    Примечание.

    Это число представляет процент пула, который может использоваться неиспользуемыми сегментами. Значение 0 указывает, что система будет использовать поведение по умолчанию, аналогичное Windows NT 4.0 с пакетом обновления 3. Значение от 5 до 40 указывает, что система обрезает неиспользуемый кэш файлов на основе использования пула. 5 является наиболее агрессивным (то есть увеличивает размер кэша меньше) и 40 является наименее агрессивным (т. е. позволяет кэшу увеличиваться по величине, прежде чем он обрезает кэш.)

    Важно!

    • Используйте 15 в качестве начального значения. Если резервное копирование не выполнено, используйте 5 в качестве значения. Если это не работает, необходимо изменить поведение программы резервного копирования, чтобы уменьшить спрос на пул страниц или обновить до Windows 2000, где доступно более чем в два раза пул страниц (дополнительные сведения см. в разделе "Windows 2000". Если это значение работает, может потребоваться увеличить его примерно на 20 процентов до тех пор, пока резервное копирование не будет неудачно. Если резервное копирование не выполнено, используйте второй параметр реестра, описанный в этой статье.

    • Если вы используете переключатель /3GB, используйте 5 в качестве начального параметра.

  4. Закройте редактор реестра.

  5. Перезагрузите ваш компьютер.

Так как эти параметры необходимо протестировать во время самых напряженных резервных копий, может потребоваться дождаться всего цикла резервного копирования в течение всего цикла резервного копирования, если вы не уверены, какие резервные копии потребляют больше всего ресурсов. Из-за этого корпорация Майкрософт рекомендует сначала протестировать низкие значения.

Устранение второй проблемы

Одно из возможных разрешений — ограничить резервное копирование, чтобы создать резервную копию одного файла одновременно. Он может работать или не может работать в зависимости от размеров файлов для резервного копирования. (Ожидается, что файлы меньше 180 гигабайт [ГБ].) Вы также можете попробовать это разрешение, если выполняется резервное копирование нескольких больших файлов, но каждый файл меньше 180 ГБ. Выполните действия, чтобы устранить первую проблему. Для файлов размером более 180 ГБ обходное решение не существует. Поэтому необходимо обновить систему до Windows 2000. При попытке удаленного резервного копирования системы в качестве обходного решения возникает такая же проблема.

  1. Запустите редактор реестра (Regedt32.exe).

  2. Найдите и откройте следующий подраздел реестра:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory_Management

  3. В меню "Изменить " щелкните "Добавить значение", а затем добавьте следующее значение реестра:
    Имя значения: DisablePagedPoolHint
    Тип данных: REG_DWORD
    Основание: десятичная
    Значение данных: 1

  4. Закройте редактор реестра.

  5. Перезагрузите ваш компьютер.

Состояние

Данное поведение является подтвержденной ошибкой продуктов Майкрософт, перечисленных в разделе «Применимо к».

Дополнительная информация

NTBackupread и NTBackupwrite используют буферный ввод-вывод. Это означает, что Windows NT кэширует операции ввода-вывода, выполняемые в потоке. Это также единственный API, который будет создавать резервные копии метаданных файла. Этот кэш извлекается из ограниченных ресурсов: а именно, пула и непагированного пула. Из-за этого большое количество файлов или файлов, которые являются большими, могут привести к низкому объему ресурсов пула.

Некоторые факторы могут исчерпать объем памяти пула страниц. Вы можете включить теги пула и принимать poolsnaps различные интервалы времени, чтобы понять, какой драйвер исчерпан памяти пула страниц. poolsnaps Если указано, что тег MmSt (прототип PTEs объекта mm section) является крупнейшим потребителем и составляет более 80 МБ, на сервере, вероятно, открывается большое количество файлов.

Возможное максимальное количество памяти пула страниц на компьютере составляет 343 МБ в пуле страниц в Windows 2000 с ключом пула с страницами, установленным для FFFFFFFFFF, или 164 МБ, если ключ отсутствует. Возможное максимальное максимальное количество памяти пула страниц составляет 192 МБ в Windows NT. По умолчанию диспетчер памяти пытается обрезать выделенную память пула страниц, когда система достигает 80 процентов общего пула страниц. Например, 80 процентов от 343 МБ составляет 274 МБ. Если диспетчер памяти не может быть достаточно быстро, чтобы обеспечить соответствие требованиям, событие, указанное в разделе "Симптомы" этой статьи, может произойти. Если вы настраиваете диспетчер памяти для запуска процесса обрезки ранее (например, при достижении 40 процентов), компьютер может следить за спросом на страницы пула во время внезапного пикового использования, чтобы он не истек из памяти пула страниц.

В этой статье упомянуты программные продукты независимых производителей. Корпорация Майкрософт не дает никаких явных, подразумеваемых и прочих гарантий относительно производительности или надежности этих продуктов.