Can Kernel Same page Mesclando o cache da página de compartilhamento entre contêineres?

2

O KSM permite que páginas idênticas de memória em VMs sejam mescladas, particularmente incluindo arquivos comuns de SO / aplicativos em cache na RAM.

O KSM pode ser usado para reduzir de forma semelhante os requisitos de memória dos contêineres?

    
por sourcejedi 24.09.2017 / 16:13

1 resposta

2

Não.

KSM only merges anonymous (private) pages, never pagecache (file) pages.

Funciona tão bem somente para VMs, porque todas a memória de uma VM é armazenada como páginas privadas no processo do host. Por exemplo. processo do qemu na máquina host.

(Em vez disso, por exemplo, os usuários do Docker podem compartilhar páginas entre imagens idênticas ou imagens com um ancestral comum e que usam um driver de armazenamento baseado em overlayfs ).

Além disso, a interface atual do KSM exige madvise(... MADV_MERGEABLE) para cada faixa potencialmente compartilhável. Essa chamada teria que ser executada por cada processo no contêiner quando ele cria um mapeamento. Obviamente, essa interface é muito mais fácil de se adaptar a processos individuais específicos, incluindo, mas não se limitando a, qemu .

    
por 24.09.2017 / 16:13