生产环境中经常会遇到 Java.lang.OutOfMemoryError: Java heap space
很多程序用jar包启动的时候没有设置堆栈大小,那么怎么查询默认的堆栈大小呢?
一、首先堆栈大小的配置启动参数
初始堆大小 -Xms32m
最大堆大小 -Xmx512m
二、查询服务器初始堆栈大小(本地8G内存为例)
在Windows里:
java -XX:+PrintFlagsFinal -version | findstr /i "HeapSize PermSize ThreadStackSize"
在Linux里:
java -XX:+PrintFlagsFinal -version | grep -iE 'HeapSize|PermSize|ThreadStackSize'
windows下执行如下:
如上图可见,初始化大小为红框1, 128M
最大为红框2, 大概为机器内存的1/4 , 也就是2G。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)