java -Xms is apparently not having an affect on the amount of memory the java process consumes during a run.
I have an app that consumes about 1Gb from the system point of view. I tried setting -Xms2048m (and -Xmx4096m) and I see absolutely no change in memory consumption.
The hotspot docs claim the heap size is bounded below by the Xms value or the default.
The only thing I can think of is maybe the process cannot grab a contiguous block of memory, so it grabbed all it could and then will allocate more later, or maybe windows is not letting it have that much memory to start with. (64-bit windows 7)
(I don’t need this for anything, it is just something curious I noticed)
The default memory usage windows task manager shows you is not what’s allocated in the processes virtual memory space. It’s how much that process has actually written into the virtual space that has had to be mapped onto real memory. If you enable the column for ‘Commit Size’ in your task manager that will show what is actually considered “used” from the perspective of your processes’s virtual address space. (roughly Xms + permsize + size of VM and system stuff itself.)