Назад | Перейти на главную страницу

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

Файл 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.