生产环境中经常会遇到 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。

本文介绍了在生产环境中遇到的Java OutOfMemoryError问题,特别是Java heap space错误。讲解了如何通过设置-Xms和-Xmx参数来配置Java应用程序的初始堆大小和最大堆大小,例如-Xms32m和-Xmx512m。同时,提供了在Windows和Linux环境下查询默认堆栈大小的命令,帮助开发者了解系统的默认配置。默认初始堆大小可能为128M,最大堆大小通常是系统内存的1/4。
2万+

被折叠的 条评论
为什么被折叠?



