У меня есть программа, которая выполняет очень интенсивную работу с графикой и требует много памяти (> 8 ГБ), однако моя машина в настоящее время имеет только 8 ГБ ОЗУ, что означает, что программа выбрасывает неправильный выделенный память, когда ей не хватает памяти.
Помимо этой программы, у меня были открыты некоторые другие вещи, которые использовали часть моей основной памяти, но в основном это была только программа, пожирающая память.
Теперь я задался вопросом, почему система выдает bad_alloc
, когда она достигает> 8 ГБ использования памяти, вместо того, чтобы отказываться от страниц и выгружать некоторые страницы? Разве это не одна из проблем, которые должны решить подкачка и виртуальная память?
Я смогу запустить свою программу, для которой требуется> 8 ГБ памяти, если бы она просто выгружала страницы, к которым недавно не обращались, чтобы иметь возможность создавать новые страницы для требуемой памяти.
Кто-нибудь может дать объяснение?
На моей машине есть файл подкачки размером 8 ГБ.