Файл cgroup memory.stat перечисляет использование кэша страниц для этой 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.
Это обсуждается в разделе 2.3. https://www.kernel.org/doc/Documentation/cgroup-v1/memory.txt...
2.3 Учет общих страниц
Общие страницы учитываются по принципу первого прикосновения. Контрольная группа, которая первой касается страницы, считается страницей. Принцип, лежащий в основе этого подхода, заключается в том, что cgroup, которая агрессивно использует общую страницу, в конечном итоге будет взимать плату за нее (как только она будет снята с cgroup, которая ее ввела - это произойдет из-за нехватки памяти).
По остальным вопросам ...
Начиная с Linux 2.4, буфер был добавлен в кеш (см. https://stackoverflow.com/a/14671569). Таким образом, вы не найдете отдельного поля для буфера в memory.stat.
Для того, чтобы своп отображался в memory.stat, вероятно, ядро необходимо скомпилировать с CONFIG_MEMCG_SWAP_ENABLED.