Uso do cache de página listado no arquivo memory.stat do cgroup

1

O arquivo memory.stat do cgroup lista o uso do cache de páginas para esse cgroup (nos campos cache e total_cache). Como o uso do cache de páginas é derivado?

Por exemplo, o arquivo a.txt é aberto pelo cgroup A e B. Do A e B mantêm seu próprio cache de a.txt? Ou o cache de a.txt é compartilhado entre A e B? Se for compartilhado, o uso do cache de páginas do memory.stat para A e B será incrementado pela mesma quantidade (valor total)?

Além disso, por que o memory.stat não inclui um campo para cache de buffer ou cache de troca?

Distro é Linux Mint 18.2.

    
por offbynull 19.03.2018 / 18:03

1 resposta

2

Isso é discutido na seção 2.3 do link ...

2.3 Shared Page Accounting

Shared pages are accounted on the basis of the first touch approach. The cgroup that first touches a page is accounted for the page. The principle behind this approach is that a cgroup that aggressively uses a shared page will eventually get charged for it (once it is uncharged from the cgroup that brought it in -- this will happen on memory pressure).

Quanto às outras perguntas ...

Desde o Linux 2.4, o buffer foi adicionado ao cache (veja link ). Como tal, você não encontrará um campo separado para o buffer em memory.stat.

Para que a troca seja listada em memory.stat, é provável que o kernel precise ser compilado com CONFIG_MEMCG_SWAP_ENABLED.

    
por 19.03.2018 / 18:30