Ошибки выделения памяти могут быть вызваны медленным ростом файла страницы

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

Область применения: Windows 10 — все выпуски
Исходный номер базы знаний: 4055223

Симптомы

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

Причина

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

Система ввода-вывода состоит из множества компонентов, включая фильтры файловой системы, файловые системы, фильтры томов, фильтры хранилища и т. д. Конкретные компоненты в определенной системе могут привести к вариативности при росте файла подкачки.

Обходной путь

Чтобы обойти эту проблему, вручную настройте размер файла подкачки. Для этого выполните следующие действия:

  1. Нажмите клавишу с логотипом Windows + паузу или прерывание, чтобы открыть свойства системы.
  2. Выберите Дополнительные параметры системы , а затем выберите Параметры в разделе Производительность на вкладке Дополнительно .
  3. Перейдите на вкладку Дополнительно , а затем выберите Изменить в разделе Виртуальная память .
  4. Снимите флажок Автоматически управлять размером файла подкачки для всех дисков проверка.
  5. Выберите Пользовательский размер, а затем задайте значения "Начальный размер" и "Максимальный размер" для файла подкачки. Рекомендуется задать начальный размер в 1,5 раза больше объема ОЗУ в системе.
  6. Нажмите кнопку ОК , чтобы применить параметры, а затем перезапустите систему. Если вы продолжаете получать сообщения об ошибках о нехватке памяти, увеличьте начальный размер файла подкачки.

Состояние

Корпорация Майкрософт подтвердила, что это проблема в Windows 10.

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

При использовании компилятора Microsoft Visual C++ (cl.exe) могут возникать периодические ошибки сборки, как показано ниже:

  • Неустранимая ошибка C1076: предел компилятора: достигнута внутренняя куча; используйте /Zm, чтобы указать более высокое ограничение
  • Неустранимая ошибка C1083: не удается открытьtypefile: "file": message
  • Неустранимая ошибка C1090: сбой вызова API PDB, код ошибки "code": "message"
  • Ошибка компилятора C3859: превышен диапазон виртуальной памяти для PCH; Выполните повторную компиляцию с параметром командной строки "-ZmXXXX" или более поздней версии.

Дополнительные сведения об ошибках компилятора Visual C++ и способах их устранения см. в разделе Проблемы и рекомендации по предкомпилированному заголовку (PCH).