Pull to refresh

Comments 13

В статье приведен только один недостаток — это если они попадают в swap. Но активный swap — это вообще большое зло и значит, что уже практически катастрофа. А в обычных случаях в чем плюсы и минусы?
Например, есть Java приложение, которое практически сразу забирает себе весь Xmx (например, Xms = Xmx), и которое практически единственное на сервере. Как я понимаю, всегда есть смысл использовать huge pages под всю ее память?
В обычной ситуации у вас могут быть в каждой из 2мб странице по 2 байта памяти используется, а остальное — уже нет. И вы вроде как запросили 200мб, а все ваши 32Гб уже заняты.
В случае с джава в принципе это маловероятно, если garbage collector включен, но все же возможно при определенных задачах.
Важный недостаток — очень дорогие copy-on-write страниц. На машинах, на которых крутятся in-memory СУБД, типа tarantool, надо отключать THP.
Это не претензия к тарантулу) Я его нежно люблю. Редис, например, тоже с THP не дружит.
Судя по мануалам, PostgreSQL тоже недолюбливает THP, но вот просто HP очень даже приветствует.
Я уже писал, mysql тоже не сильно дружит по крайней мере в патерне с большим количеством апдейтов.
На хабре был бенчмарк постгре с HP и без него… Как обычно, все зависит от задачи. Выигрыш иногда был нехилый…
Почему то в статье смешиваются определения transparent hp и просто hp, хотя это немного разные вещи.
+1, фигня какая-то, смешали все в кучу, thp и hp — это разные вещи
UFO just landed and posted this here
Как изменить значение по умолчанию

Вариант 1: Напрямую изменить sysfs (после перезагрузки параметр вернется к значению по умолчанию):


Все намного проще. Если используется загрузчик Grub2, в файл /etc/default/grub просто нужно добавить:

GRUB_CMDLINE_LINUX_DEFAULT="transparent_hugepage=never default_hugepagesz=1G hugepagesz=1G"


В примере так же изменен размер станицы до 1Гб. После выполнить sudo update-grub и перезагрузить сервер
Sign up to leave a comment.