Why the JVM memory consumption is so different for the two nodes

I have two nodes in the cluster, one master node and one data node. They both have 8 cores and 64G memory. I also set ES_HEAP_SIZE=30g in /etc/sysconfig/elasticsearch

I have set logstash to stream data in an index of 2 shards, and each one of them have one shard.
The logstash code is as follows:

             elasticsearch {
                 hosts => ["staging-elkstack", "staging-elkstack2"]
                 index => "record_%{+YYYY.MM.dd}" 
                 template_name => "lean"
                 document_id => "%{[@metadata][computed_id]}"  # set documentid
              }

Why the JVM memory consumption is so different showing in marvel?

Dig into the node stats and take a closer look, there should be something outstanding.

Thanks. I think because the server restarted during that day, and so it caches less data in memory, and after few days, it already have the same JVM consumption as the other server.