pokos> Потому что освобождать ненужную память не нужно.
Нужно
Собственно, если памяти не хватает и юзается своп, то возможны две крайние политики:
1. Держим в памяти всё, что можно по-максимуму. Если, при запуске новой программы памяти не хватает, сбрасываем лишнее в своп. Плюс - при отложенных обращениях к "старой" программе та работает сразу, не загружая нужные данные с диска. Минус - при нехватке памяти запуск новой программы требует лишнего времени на сброс старых данных других программ в своп.
2. Все данные, к которым нет обращений в течении определённого времени, сбрасываются в своп. Если запускается новая программа, она сразу получает нужную память. Это плюс. Минус - при обращении к старой программе нужно ждать, пока она поднимет данные даже если память была свободной.
Windows практикует второй метод. В Linux - настраивается (можно и налету) параметром ядра.
Кеширование свопа позволяет использовать второй вариант с уменьшением задержки на загрузку старых данных. И память свободна для новых процессов, и, если срочно потребуется подъём старых данных, они могут лежать в кеше.
pokos> Если это ОЗУ не центрального процессора, то это и есть RAM-диск как устройство, и не важно, что его страницы сидят на видеокарте.
Ну, придирка была чисто к формулировке "своп в ОЗУ". Ибо это, действительно, своп в ОЗУ и есть.
Кстати, можешь глянуть на
Linux: How to Use RAM as Swap | KernelTrap - м.б. найдёшь обоснование и для того, зачем ОЗУ ЦПУ под своп юзают
(моего английского не хватает на беглый просмотр, а внимательно читать влом)