HadoopとTransparent Huge Pages(THP)

2017-02-09 update: https://issues.apache.org/jira/browse/KUDU-1447 にて、defrag の無効化だけでは解消しきらないケースが報告されました。これを受け、Cloudera Manager 5.9 以降では enabled と defrag 共に never or madvise とするようアドバイスしています 2015-09-06 update: https://bugs.centos.org/view.php?id=5716https://bugzilla.redhat.com/show_bug.cgi?id=805593 (要ログイン) により、6.5 以降では発生しないとの見解でしたが、その後も発生が報告されたため、Cloudera Manager 5.4.5 以降では RHEL 系 6.2 以降のバージョンであれば defrag を無効にするようメッセージが表示されます(日本語のメッセージがアップデートされていませんが、これはi18nのバグです)。 続きを読む
5
KUBOTA Yuji @sugarlife

これも THP defrag で sys 高騰 / “NTT DATA と PostgreSQL が挑んだ総力戦” htn.to/Ghrhf9

2017-02-07 09:41:47
KUBOTA Yuji @sugarlife

@kiszk @_oza 記事から読めるのは Transparent の defrag が問題みたいですね。madvise だとどうなんだろう

2017-02-07 11:30:30
wyukawa @wyukawa

Hadoop界隈だとTHP無効にするの常識っぽいというかAmbariやCloudera Managerが指摘するしね。Hadoopに限らずRDBMSなどのストレージ系も無効が推奨っぽいな。

2017-02-07 22:45:52
wyukawa @wyukawa

THPよくわかってないけど、ページサイズを4KBじゃなくて2MBで扱うことによってメモリアクセスを効率化してるんだけど、compactionのせいでCPUのsysが上がるって感じか。neverじゃなくてmadviseでも良いって説もあるっぽいけど、まあ安全サイドにたおしたのかな。

2017-02-07 22:50:05
KUBOTA Yuji @sugarlife

@wyukawa DB と乗り合わせるとその通りですね。JVM 単品で考えるとGC系のメモリ管理とは相性がいいので、シングルスレッドバグと madvise が実装された以降だとどうなるのかなーと言う興味でした

2017-02-07 22:51:42
KUBOTA Yuji @sugarlife

@wyukawa ですねー。「有効にするべきだ」と言う話じゃなくて、今はどうなんだろうという技術的興味心でした。実インフラなら、相性の悪いワークロードもすぐにいくつか思いつくものなので、私も安全に倒して never (少なくともalwaysは絶対ない)を検討します

2017-02-07 23:09:25
Daisuke Kobayashi @d1ce_

@sugarlife 遅レスですが、以前までは(少なくともHadoop界隈では) defrag を無効化というのがベストプラクティスでした。が、最近はどうもTHP自体を無効化したほうがいいという見解になってます issues.apache.org/jira/browse/KU…

2017-02-09 17:35:20