Re: Как предотвратить жёсткие зависания компьютера в ресурсоёмких играх?
22 марта 2017 г., 16:44 пользователь Коротаев Руслан
<subscribe@mail.kr.pp.ru> написал:
>
>
> Меня просто смутило: «Linux начинает выгружать из памяти код запущенных
> процессов. Сделать это он имеет право даже при отсутствие swap'а, т.к.
> копия этого кода есть на жестком диске и он всегда сможет подгрузить
> этот код».
А что вас в этом смутило?
> Я понял это так, не хватает памяти, почему бы не выгрузить рабочий
> процесс, например иксы.
Вы поняли правильно. В FAQ, который я указал, это написано явным образом:
Since every executable program
and shared library is a file backed mapping, this means the system yanks
executable pages, which is generally faults back in fairly rapidly since
they tend to get used a lot.
> Теперь всё прояснилось — когда памяти не
> хватает, ядро начинает выделять память за счет страничного кэша (page
> cache). О страничном кэше можно почитать здесь [1].
Страничный кэш - это то, что можно запросто выкинуть в помойку и
ничего страшного не произойдет.
Когда дело доходит до страниц с кодом, то это уже полная задница. Одно
дело выгрузить какой-нибудь cron, который запускается раз в сутки,
совершенно другое, как вы заметили, выгрузить иксы, которые в ту же
секунды "захотят", чтобы их загрузили обратно.
--
With best regards
Max Dmitrichenko
Reply to: