выделение памяти, если объем оперативной памяти меньше требуемого

Если у меня есть 500 МБ ОЗУ и программа, которая использует malloc для выделения 600 МБ памяти.
Что произойдет, будет ли он выделяться с использованием концепции виртуальной памяти или нет, если да, то как?

0

Решение

У вас не всегда есть доступное дисковое пространство для виртуальной памяти, но, в общем, ответ — да, это происходит. Операционная система будет делать пейджинг за вас, например, в разделе подкачки, созданном в Linux.

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

Обратите внимание, что дисковый ввод-вывод выполняется намного медленнее, чем чтение и запись реальной оперативной памяти.

Я думаю, что это должно помочь вам

Что такое виртуальная память?

Виртуальная память объединяет оперативную память вашего компьютера с временным пространством на жестком диске. Когда ОЗУ заканчивается, виртуальная память перемещает данные из ОЗУ в пространство, называемое файлом подкачки. Перемещение данных в файл подкачки и из него освобождает память, чтобы ваш компьютер мог завершить свою работу.

2

Другие решения

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

1

По вопросам рекламы [email protected]