22 марта 2017 г., 16:44 пользователь Коротаев Руслан <subscr...@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