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

Pages_sharing и pages_shared разница в тысячах тысяч квадратных метров

Может кто-нибудь, пожалуйста, помогите мне понять это.

Я использую kvm-хосты с 5 виртуальными машинами.

Это статистика драйвера ksm

each page is 4KB

cat /sys/kernel/mm/ksm/pages_shared     162221
cat /sys/kernel/mm/ksm/pages_sharing    264281
cat /sys/kernel/mm/ksm/pages_unshared   241483

"Pages_sharing" - общее количество страниц, созданных vms. а "pages_shared" - количество страниц, которые были найдены похожими и объединенными.

if that is true then why is  pages_sharing-pages_shared != pages_unshared


 264281-162221 != 241483

pages_unshared означает именно то, что он говорит: страницы не могут быть общими, потому что они уникальны.

pages_shared указывает, сколько страниц фактически используется и передается.

pages_sharing указывает, сколько страниц существует по мнению виртуальных машин. Если бы у вас не работал KSM, именно столько страниц было бы использовано на самом деле.

Итак, в вашем примере было обнаружено, что 264281 страница является общедоступной, и поэтому они были объединены в 162221 страницу, в то время как 241483 страницы не были общими. KSM сэкономил вам около 398 МБ памяти.

Посмотреть здесь https://www.kernel.org/doc/Documentation/vm/ksm.txt

pages_shared     - how many shared pages are being used
pages_sharing    - how many more sites are sharing them i.e. how much saved
pages_unshared   - how many pages unique but repeatedly checked for merging

Итак, вы не должны вычитать pages_shared из pages_sharing. pages_sharing - это экономия памяти!

Pages_sharing - это реально сохраненная память: 264281 * 4096/1024/1024 = 1032 МБ

(264281 - 162221) * 4096 = 418037760. Разделить на (1024 * 1024) = 398,67 МБ не сохраняет память