Почему максимальное использование кучи JVM, о котором сообщает JMX, со временем меняется?

Максимальный размер моей кучи 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, который остается постоянным:

http://highlycaffeinated.com/assets/images/heapmax3.png

8
задан highlycaffeinated 27 December 2016 в 15:18
поделиться