現状、ありとあらゆるDBがTHPをdisableするよう推奨している。これはあんまり良い状況じゃないのでTHPを disabled by default に変えようという提案。
Ted Ts'o はデフォルトがenabledだから、パフォーマンスが良くなるケースが気づきにくいだけだろうと主張。まあ、そうだろうね。KVM hostとかだと anon ばっかりつかうし、guest OSでメモリ制限あるから、hostのreclaimは走らないしで、悪いケースになりにくそう。
Vlastimil Babka はそもそも page faultの延長で、コンパクション始めちゃうのがよくないので、デフォルトは今より less aggressiveであるべきという意見のようだ。
Googlerが今のままがいいと主張していて、エンタープライズ屋さんが変えたいという陣営なのかな。
http://www.spinics.net/lists/linux-mm/msg93357.html
As a general purpose sysadmin I've mostly struggled with its default being always, if it were never (or possibly madvise?) then I think all the very real performance problems would go away. Those who know they need it could turn it on. I have begun looking into asking the distros to change this (is it a distro choice?) but am not getting that far. Just to be clear the default of always causes noticeable pauses of operation on almost all databases, analogous to having a stop the world gc.
As for THP in APU type applications have you run into any JEMalloc defrag performance issues? My research into THP issues indicates this is part of the performance problem that manifests for databases.
Some more links to discussion about THP:
Postgresql https://lwn.net/Articles/591723/
Postgresql http://www.postgresql.org/message-id/20120821131254.1415a545@jekyl.davidgould.org
Mysql (tokudb) https://dzone.com/articles/why-tokudb-hates-transparent
Redis http://redis.io/topics/latency http://antirez.com/news/84
Oracle https://blogs.oracle.com/linux/entry/performance_issues_with_transparent_huge
MongoDB http://docs.mongodb.org/master/tutorial/transparent-huge-pages/
Couchbase http://blog.couchbase.com/often-overlooked-linux-os-tweaks
Riak http://underthehood.meltwater.com/blog/2015/04/14/riak-elasticsearch-and-numad-walk-into-a-red-hat/
※ 追記
Hadoop界隈でもdisable必須らしい。shiumachiさん、ありがとう。
https://twitter.com/shiumachi/status/639265740713885696