私の JVM ヒープの最大値は、私の Hadoop クラスターの 1 つの名前ノードで 8GB に構成されています。JMX を使用してその JVM を監視すると、添付の画像に示すように、報告された最大値が常に変動しています。
http://highlycaffeinated.com/assets/images/heapmax.png
Hadoop クラスターの 1 つ (最もアクティブなクラスター) でのみ、この動作が見られます。他のクラスタでは、報告された最大値は構成された値に固定されたままです。報告された最大値が変更される理由はありますか?
アップデート:
Javaのバージョンは「1.6.0_20」
ヒープの最大値は、次の行で hadoop-env.sh に設定されます。
export HADOOP_NAMENODE_OPTS="-Xmx8G -Dcom.sun.management.jmxremote.port=8004 $JMX_SHARED_PROPS"
psショー:
hadoop 27605 1 99 Jul30 ? 11-07:23:13 /usr/lib/jvm/jre/bin/java -Xmx1000m -Xmx8G
更新 2:
-Xms8G
昨夜、スタートアップ コマンド ラインにスイッチを追加しました。
export HADOOP_NAMENODE_OPTS="-Xms8G -Xmx8G -Dcom.sun.management.jmxremote.port=8004 $JMX_SHARED_PROPS"
下の画像に示すように、パターンは変わったように見えますが、最大値は依然として変動しています。
http://highlycaffeinated.com/assets/images/heapmax2.png
更新 3:
これは、一定のままである非ヒープの最大値も示す新しいグラフです。