I ran the following method Runtime.getRuntime().maxMemory() and gave 85196800.
However, I then ran top from the command line and it showed
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
8672 root 20 0 1284m 156m 4296 S 0.3 60.9 0:33.35 java
Doesn't that show 156M of ram used? Any ideas what is going on?