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