О ulimit/setrlimit и cgroup

TL; DR Если страница является кешем для чтения с диска он никогда не идет на свопинг.

Ваш вопрос означает, что вы уже знаете, как работает своп (или, скорее, как работает виртуальная память). Теперь простой важный шаг в понимании дискового кэша - это отметить, что он обрабатывается в точно так же . Нет никаких «данных приложения» и «дискового кеша», это всего лишь единый механизм виртуальной памяти.

Каждая страница поддерживается постоянным хранилищем: вместо объявления страницы как "дискового кеша" вы также можете объявить, что "эта страница поддерживается /var/spool/mail/root". Вместо объявления страницу как «память приложения» вы также можете объявить «эта страница поддерживается пространством подкачки» (иначе «она анонимна» = она не поддерживается ни одним указанным файлом).

Если страница грязная, ее необходимо сохранить в ее собственном постоянном хранилище - независимо от того, именованный ли это файл или пространство подкачки. Если страница не загрязнена, это по определению означает, что точно такие же байты уже находятся в постоянном хранилище страницы. Не нужно ничего делать - ОС может предоставить эту страницу для повторного использования в любое удобное для нее время.

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

4
03.06.2019, 14:24
0 ответов

Теги

Похожие вопросы