Are you talking about resident memory or virtual? On my machine, a simple while(true); in main without anything else, it already receives 10 MB of resident memory, mainly due to bibliographic memory libraries (libc, libm, librt, libpthread ...) and cans. Reducing, if possible at all, the amount of memory anywhere or up to 10 MB in any non-trivial application would mean only more swap, which would decrease the speed.
On the other hand, the virtual memory is 1.1 GB on my machine, which can be reduced if necessary, but why do this? Unused virtual memory costs nothing.
Edit: Also, you might want to take a look at the other "HotSpot VM Options" , especially MaxHeapFreeRatio.
source share