I am writing a program in which i need to do a minimum system RAM validation. How do i go about calculating the RAM of the machine that is executing the code in its JVM ?
Asked
Active
Viewed 1,693 times
2
-
possible duplicate of [Using Java to get OS-level system information](http://stackoverflow.com/questions/25552/using-java-to-get-os-level-system-information) – Jim Garrison Feb 20 '12 at 06:31
2 Answers
3
I think it is not possible with pure java at all.
Within the JVM you can only mesure the JVM-ram not the System RAM. http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/management/MemoryMXBean.html
You'll need a piece of native code.

Christian Kuetbach
- 15,850
- 5
- 43
- 79
-
+1: Or run an OS command line program. On Linux you can read the `/proc/meminfo` file – Peter Lawrey Feb 17 '12 at 12:36
3
You can have a look into Runtime class:
Runtime.getRuntime().maxMemory();
but from Runtime docs:
Returns the maximum amount of memory that the Java virtual machine will attempt to use. If there is no inherent limit then the value Long.MAX_VALUE will be returned

Kris
- 5,714
- 2
- 27
- 47
-
I've just found that there was a similar question already asked: http://stackoverflow.com/questions/25552/using-java-to-get-os-level-system-information – Kris Feb 17 '12 at 11:09