Максимальный размер моей кучи JVM настроен на 8 ГБ на узле имени для одного из моих кластеров Hadoop. Когда я отслеживаю эту JVM с помощью JMX, сообщаемый максимум постоянно колеблется, как показано на прикрепленном изображении.
http://highlycaffeinated.com/assets/images/heapmax.png
Я вижу такое поведение только на одном (самом активном )из моих кластеров hadoop. В других кластерах сообщаемый максимум остается фиксированным на настроенном значении. Любые идеи, почему сообщаемый максимум изменится?
Обновление:
Версия 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:
Вот новый график, который также показывает Non -Heap max, который остается постоянным: