2

JVM パラメータを設定することで、map (または reduce) タスクの最大メモリを制御できることはわかっています。しかし、タスクの現在のメモリ使用量を確認する方法があるかどうか疑問に思っていますか?

4

1 に答える 1

6

リモート HPROF プロファイリングを有効にします。HPROF は JDK に付属するプロファイリング ツールで、基本的なものですが、プログラムの CPU とヒープの使用状況に関する貴重な情報を提供できます。それを使用するには、コードでこれを試すことができます。

conf.setBoolean("mapred.task.profile", true);
conf.set("mapred.task.profile.params", "-agentlib:hprof=cpu=samples," +
    "heap=sites,depth=6,force=n,thread=y,verbose=n,file=%s");
conf.set("mapred.task.profile.maps", "0-2");
conf.set("mapred.task.profile.reduces", ""); // no reduces

詳細については、「Hadoop The Definitve Guide」の第 5 章 -> 「Tuning a Job」 -> 「Profiling Tasks」を参照してください。

于 2012-09-08T06:39:16.573 に答える