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
.