# How if Process total vitual memory calculated

**URL:** <https://discuss.elastic.co/t/how-if-process-total-vitual-memory-calculated/62623>\
**Category:** Elasticsearch\
**Created:** [October 10, 2016, 10:00am UTC](https://discuss.elastic.co/t/how-if-process-total-vitual-memory-calculated/62623 "2016-10-10T10:00:32Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![ramaseshan](https://avatars.discourse-cdn.com/v4/letter/r/5daacb/32.png) [@ramaseshan](https://discuss.elastic.co/u/ramaseshan)\
**Post date:** [October 10, 2016, 10:00am UTC](https://discuss.elastic.co/t/how-if-process-total-vitual-memory-calculated/62623/1 "2016-10-10T10:00:32Z")

</div>

[https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-stats.html#process-stats](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-stats.html#process-stats)

I was generating some stats for ElasticSearch Node. Looking at this API in the above url, I am trying to figure out how is the process..mem.total\_virtual\_in\_bytes is calculated and what exactly does it mean.

Running  
ES : 2.4.0  
Java : OpenJDK 1.7.0\_111  
OS : Ubuntu 14.04

---

<div class="post-metadata">

**Author:** ![ramaseshan](https://avatars.discourse-cdn.com/v4/letter/r/5daacb/32.png) [@ramaseshan](https://discuss.elastic.co/u/ramaseshan)\
**Post date:** [October 12, 2016, 6:19am UTC](https://discuss.elastic.co/t/how-if-process-total-vitual-memory-calculated/62623/2 "2016-10-12T06:19:37Z")

</div>

I have so far traced it all the way to MxBean in Java itself.

Running this code in a standalone is giving me data close to what this parameter( process..mem.total\_virtual\_in\_bytes) is showing.

[http://alvinalexander.com/java/jwarehouse/openjdk-8/jdk/test/com/sun/management/OperatingSystemMXBean/GetCommittedVirtualMemorySize.java.shtml](http://alvinalexander.com/java/jwarehouse/openjdk-8/jdk/test/com/sun/management/OperatingSystemMXBean/GetCommittedVirtualMemorySize.java.shtml)

Also I ran the code with the same parameters elastic search run with.  
I see about 70MB difference. Is that an acceptable difference ?

I ran it like this "java -Xms256m -Xmx1g -Djava.awt.headless=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -XX:+DisableExplicitGC -Dfile.encoding=UTF-8 -Djna.nosys=true -Des.path.home=/usr/share/elasticsearch -cp /usr/share/elasticsearch/lib/elasticsearch-2.4.1.jar:/usr/share/elasticsearch/lib/\* org.elasticsearch.bootstrap.Elasticsearch GetMemory.java"

Where am I missing the 70MB here ?

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 5, 2017, 10:13pm UTC](https://discuss.elastic.co/t/how-if-process-total-vitual-memory-calculated/62623/3 "2017-07-05T22:13:09Z")

</div>


