I'm trying to verify if Java stack size is fixed (set at the beginning) or limited (grows to a certain limit). I'm trying to measure this with a simple program that creates a certain amount of threads (with set Xss) but so far I only discovered that RSS is per process and for obvious reasons knowing heap size is meaningless here.
解决方案
In Oracle and OpenJDK stack sizes are fixed and do not shrink or grow.
Depending on the platform, default sizes vary.
IBM J9 handles this differently: Stack sizes are limited via a lower and upper boundary for Java Threads. OS threads can have a different stack size.
In case you want to estimate the total size of memory used, you'll have to know the number of threads being used, as the stack sizes are per thread on both Oracle/OpenJDK and on J9.