суббота, 26 сентября 2015 г.

Transparent Huge Pages

         Red Hat сделала "классную" фичу в ядре Linux называемую Transparent Huge Pages (THP).  Её суть в том что они пытаются научить приложения, не знающие ничего о huge pages работать с ними. Прозрачно подменяют обычные страницы памяти на huge pages. Все выглядит круто на бумаге, и даже в синтетических тестах - согласно их бенчмаркам THP на 10% ускоряют абстрактное приложение  http://www.slideshare.net/raghusiddarth/transparent-hugepages-in-rhel-6
        Но в реальной жизни получается несколько иначе. В некоторых случаях THP вызывает ничем не мотивированное увеличение потребления CPU в режиме ядра. Спасибо Oracle за то что они поделились своими наблюдениями - https://blogs.oracle.com/linux/entry/performance_issues_with_transparent_huge  К сожалению я еще не познал в достаточной мере кунг-фу linux perf, и надо сказать подобное поведение ядра поставило меня в тупик. 
          В общем всем советую добавить
echo never >> /sys/kernel/mm/redhat_transparent_hugepage/enabled