Может ли ядро ​​при слиянии одной и той же страницы совместно использовать кэш страниц между контейнерами?

Чтобы удалить bar-version-someFirstLevelFolder, вам нужно использовать опцию --strip-components=1в tar. Таким образом, ваш плейбук должен выглядеть как

- name: Extract archive
  unarchive:
    src: file.tar.gz
    dest: /foo/bar
    extra_opts: [--strip-components=1]
2
24.09.2017, 17:40
1 ответ

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

Это хорошо работает только для виртуальных машин, потому что вся память виртуальной машины хранится как частные страницы в хост-процессе. Например. процесс qemu на хост-компьютере.

(Вместо этого, например, пользователи Docker могут обмениваться страницами между идентичными изображениями или изображениями с общим предком, которые используют overlayfs -на основе драйвера хранилища).


Кроме того, текущий интерфейс KSM требует madvise(... MADV_MERGEABLE)для каждого потенциально общего диапазона. Этот вызов должен был бы выполняться каждым процессом в контейнере при создании сопоставления. Очевидно, что этот интерфейс намного легче адаптировать для использования отдельными процессами специального -назначения, включая, но не ограничиваясь qemu.

3
27.01.2020, 22:09

Теги

Похожие вопросы