В приложениях, которые часто выделяют память, могут возникать случайные ошибки нехватки памяти. Такие ошибки могут привести к другим ошибкам или неожиданному поведению в затронутых приложениях.
Причина
Сбои выделения памяти могут возникать из-за задержек, связанных с увеличением размера файла страницы для поддержки дополнительных требований к памяти в системе.Возможная причина таких сбоев в том, что размер файла страницы настроен как “автоматический”. Автоматический размер файла страницы начинается с небольшого файла страницы и при необходимости автоматически увеличивается.
Система ввода-вывода состоит из множества компонентов, включая фильтры файловой системы, файловые системы, фильтры томов, фильтры хранилища и т. д. Конкретные компоненты в данной системе могут привести к вариативности роста файла страницы.
Обходной путь
Чтобы обойти эту проблему, вручную настройте размер файла страницы. Для этого выполните следующие действия:
Нажмите клавишу с логотипом Windows+ клавишу Pause/Break, чтобы открыть свойства системы.
Выберите “Дополнительные параметры системы”, а затем выберите “Параметры” в разделе “Производительность” на вкладке “Дополнительно”.
Перейдите на вкладку “Дополнительно “, а затем выберите “Изменить ” в разделе “Виртуальная память”.
Снимите флажок “Автоматически управлять размером файла подкачки для всех дисков”.
Выберите “Пользовательский размер”, а затем задайте значения “Начальный размер” и “Максимальный размер” для файла подкачки. Рекомендуется установить начальный размер в 1,5 раза больше объема ОЗУ в системе.
Нажмите кнопку ” ОК”, чтобы применить параметры, а затем перезапустите систему. Если вы продолжаете получать сообщения об ошибках нехватки памяти, увеличьте начальный размер файла страницы.
Состояние
Корпорация Майкрософт подтвердила, что это проблема в Windows 10.
Дополнительные сведения
При использовании компилятора Microsoft Visual C++ (cl.exe) могут возникать периодические ошибки сборки, как показано ниже.
Неустранимая ошибка C1076: ограничение компилятора: достигнут внутренний куч; использование /Zm для указания более высокого ограничения
Неустранимая ошибка C1083: не удается opentypefile: “file”: message
Неустранимая ошибка C1090: сбой вызова API PDB, код ошибки “code”: “message”
Ошибка компилятора C3859: превышен диапазон виртуальной памяти для PCH; Выполните повторную компиляцию с параметром командной строки -ZmXXX или более поздней версии.
Дополнительные сведения об ошибках компилятора Visual C++ и способах их устранения см. в разделе о проблемах и рекомендациях предварительно скомпилированного заголовка.