Comments 18
А если после совмещения происходят изменения? Тогда память опять увеличивается?
Кэп подсказывает, что да.
Наверняка что-то аналогично copy-on-write (а то и оно один-в-один).
KSM это технология комплементарная COW (Copy-On-Write)
Т.е. она находит одинаковые страницы, объединяет их и помечает как COW. Дальше действуют стандартные механизмы виртуальной памяти.
Если процесс пишет в COW страницу хотя бы один байт, то страница физически копируется в другое место и вносится изменение в карту виртуальной памяти изменяющего процесса. После этого уже происходит запись изменений.
Т.е. она находит одинаковые страницы, объединяет их и помечает как COW. Дальше действуют стандартные механизмы виртуальной памяти.
Если процесс пишет в COW страницу хотя бы один байт, то страница физически копируется в другое место и вносится изменение в карту виртуальной памяти изменяющего процесса. После этого уже происходит запись изменений.
Вот как бы эту штуку с openvz заставить работать
не в курсе, не планируется в vanilla включать?
Поставил на VPS — полет нормальный. Погонял нагрузочные тесты — вроде есть профит. На метров 100 больше свободной RAM остается. При общем объеме в 512Мб — существенная экономия.
Его уже можно ставить в продакшен, или ахтунговато?
Залил на десктоп с regulus-cn.org/mirrors/pool/ubuntu/12.04/x86_64/ ядро, потестю…
Интересно, как сказывается на производительности в итоге
Поставил на сервер с 16gb, но сэкономил всего 115мб оперативки, думал будет больше. Видимо uksm только для кучи виртуалок хорош, а когда память занимает зоопарк разных программ, то смысла нет.
Shared Sharing Unshared Sharing:Shared Unshared:Sharing Saved
5,327 29,582 1,302,499 5.550000:1 44.030000:1 115M
Sign up to leave a comment.
Экономим память с помощью UKSM