LINUX.ORG.RU

Должен ли очищаться свап при появлении свободной ОЗУ?

 ,


0

2

16Гб памяти, 8Гб свапа. Пока сидел под виртуалкой часть данных выгрузилась в свап. Закрыл её, свободной(именно свободной, а не под кэшем) памяти больше 10Гб. Прошли сутки, памяти много, свап работает. Я понимаю, что там какая-то редко используемая фигня лежит, но всё же, нет какого-нибудь автоматического механизма по возвращению данных в ОЗУ? Может включить что нужно? Или, это, сконпелировать?

Ответ на: комментарий от tz4678_2

В линуксе физическая страница памяти выделяется приложению только при первой записи в неё. Приложение может запросить хоть 100 петабайт памяти, ядро её выделит и отобразит в виртуальной памяти, но никакого выделения физической памяти при этом не произойдёт, пока приложение не начнёт реально ей пользоваться. К такому поведению приспособились все программы и компиляторы — раз уж нет штрафа за лишнюю неиспользуемую память, то давайте резервировать с запасом, а там уж сколь потребуется, столь и выделится.

gremlin_the_red ★★★★★
()

… Я понимаю, что там какая-то редко используемая фигня лежит…

Вот пусть дальше в swop’е и лежит. Для этого он и нужен.

ex-kiev
()

Нет, не должен. И зачем? Если данные понадобятся, они будут из него в RAM перемещены, конечно.

Vsevolod-linuxoid ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.