Comments 16
(для справки) Прошлой осенью оракл наткнулся на значительную деградацию в линуксе при работе своей БД с большими страницами. Точную причину на тот момент не выявили, поэтому по умолчанию отключали в собственном дистрибутиве линукса. По их мнению, проблема где-то в ядре операционки. Удалось ли решить сейчас, хз.
Есть косяки с transparent hugepages, точнее с периодической дефрагментацией памяти в которых задействованы большие страницы. Поэтому да, рекомендуется делать echo never > /sys/kernel/mm/transparent_hugepage/defrag а то и вообще echo never > /sys/kernel/mm/transparent_hugepage/enabled.
Возможно речь об этом, но может оракловцы еще чего накопали.
Возможно речь об этом, но может оракловцы еще чего накопали.
Это рекомендация для общего случая или только для Oracle DB?
а THP тоже в /proc/meminfo отмечаются?
Нет, не отмечаются. В плане мониторинга THP все немного хитрее, там механизм работы похож на постгресовый bgwriter… демон khugepaged сканирует всю память и смежные участки принадлежащие одному приложению сливает из мелких в большие страницы. Сканиррование страниц памяти идет пачками с некоторой задержкой чтобы не грузить cpu (такой механизм вообще много где используется, KSM. postgres autovacuum, vm plflush). Посмотреть сколько он там смержил страниц можно в /sys/kernel/mm/transparent_hugepage/khugepaged/pages_collapsed.
А это описано где-то? Симптомы, с каких какого кол-ва страниц и какого размера началось? Интересно почитать, много где используются huge_pages и тоже не без артефактов:)
Проблемы с transparent huge pages, их надо отключать в опциях загрузки и использовать обычные.
Также желательно убрать prelink из cron.
В остальном все Ок. Если SGA больше где-нибудь 10Gb, то никуда от huge pages не денешься.
Также желательно убрать prelink из cron.
В остальном все Ок. Если SGA больше где-нибудь 10Gb, то никуда от huge pages не денешься.
Отмечу что значение измеряется в страницах размером 2Mb,
Не всегда
$ grep Hugepagesize /proc/meminfo
Hugepagesize: 4096 kB
Снято с хоста с AMD.
Не всегда
$ grep Hugepagesize /proc/meminfo
Hugepagesize: 4096 kB
Снято с хоста с AMD.
UFO just landed and posted this here
Sign up to leave a comment.
Huge Pages в PostgreSQL