Использование кэша страниц указано в файле memory.stat cgroup

Использование кэша страниц указано в файле memory.stat cgroup

Файл memory.stat cgroup содержит данные об использовании кэша страниц для этой cgroup (в полях cache и total_cache). Как выводится использование кэша страниц?

Например, файл a.txt открыт обеими cgroup A и B. A и B поддерживают ли свои собственные кэши a.txt? Или кэш a.txt является общим для A и B? Если он является общим, будет ли использование кэша страниц memory.stat для A и B увеличиваться на одинаковую величину (общую величину)?

Кроме того, почему memory.stat не включает поле для буферного кэша или кэша подкачки?

Дистрибутив — Linux Mint 18.2.

решение1

Это обсуждается в разделе 2.3.https://www.kernel.org/doc/Documentation/cgroup-v1/memory.txt...

2.3 Учет общих страниц

Общие страницы учитываются на основе подхода первого касания. Cgroup, которая первой касается страницы, учитывается для страницы. Принцип этого подхода заключается в том, что cgroup, которая агрессивно использует общую страницу, в конечном итоге будет платить за нее (как только она будет освобождена от cgroup, которая ее ввела, — это произойдет при нехватке памяти).

Что касается других вопросов...

Начиная с Linux 2.4 буфер был добавлен в кэш (см.https://stackoverflow.com/a/14671569). Таким образом, вы не найдете отдельного поля для буфера в memory.stat.

Для того чтобы swap был указан в memory.stat, скорее всего, ядро ​​должно быть скомпилировано с CONFIG_MEMCG_SWAP_ENABLED.

Связанный контент