JVM常用参数 -Xss 参数为设置单个线程栈的大小, 一般默认为512K~1024K 其等价于 -XX:ThreadStackSize 栈是用来运行方法的, 堆是用来存储数据.
通过此程序查看栈内存大小
public class MyHelloGc {
public static void main(String[] args) throws InterruptedException {
System.out.println("HELLO GC");
Thread.sleep(Integer.MAX_VALUE);
}
}
将上面代码运行起来后, 用jinfo命令查看默认的栈大小 jinfo -flag ThreadStackSize 61156
可以看到返回的值是0 , 但其真实值并不是0 , 通过查看jvm官方文档可以看到. 对于Windows操作系统, 其默认值取决于虚拟内存的大小. 对于Linux系统或者OS X 系统, 默认值是1024KB
给定栈空间128k的大小, 如下图所示
-Xss128k
再次运行程序, 可以查看到栈空间的大小为128k