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


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

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

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

Симптомы

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

Причина

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

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

Обходное решение

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

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

Состояние

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

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

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

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

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