Memory management Spring引导默认内存设置是什么?
例如,如果我在没有定义的情况下从IDE运行/调试simple spring boot应用程序,那么将设置初始堆大小、最大堆大小和堆栈大小(-Xms,-Xmx,-Xss)的大小 默认情况下,Spring Boot应用程序将使用JVM默认内存设置 默认堆大小 如果物理内存大小高达192 MB,则默认最大堆大小为物理内存的一半 如果物理内存大小超过192 MB,则默认最大堆大小为物理内存的四分之一 例如,如果您的计算机有128 MB的物理内存,则最大堆大小为64 MB,大于或等于1 GB的物理内存将导致最大堆大小为256 MB JVM实际上不会使用最大堆大小,除非您的程序创建了足够的对象来需要它。在JVM初始化期间,分配的量要小得多,称为初始堆大小。该容量至少为8MB,或者是物理内存的1/64,最大为1GB 分配给年轻一代的最大空间量是堆总大小的三分之一 您可以使用以下命令检查特定于您的机器的默认值 Linux: java-XX:+PrintFlagsFinal-version | grep HeapSize 窗口: java-XX:+PrintFlagsFinal-version | findstr HeapSize 参考: 默认线程堆栈大小 默认线程堆栈大小随JVM、OS和环境变量而变化 要了解平台上的默认线程堆栈大小,请使用 在Linux中: java-XX:+PrintFlagsFinal-version | grep ThreadStackSize 在Windows中: java-XX:+PrintFlagsFinal-version | findstr ThreadStackSizeMemory management Spring引导默认内存设置是什么?,memory-management,spring-boot,Memory Management,Spring Boot,例如,如果我在没有定义的情况下从IDE运行/调试simple spring boot应用程序,那么将设置初始堆大小、最大堆大小和堆栈大小(-Xms,-Xmx,-Xss)的大小 默认情况下,Spring Boot应用程序将使用JVM默认内存设置 默认堆大小 如果物理内存大小高达192 MB,则默认最大堆大小为物理内存的一半 如果物理内存大小超过192 MB,则默认最大堆大小为物理内存的四分之一 例如,如果您的计算机有128 MB的物理内存,则最大堆大小为64 MB,大于或等于1 GB的物理内存将导
如果在java启动期间没有提供“Xmx”选项,通常占总物理内存的25% 在Unix/Linux系统上,您可以
java -XX:+PrintFlagsFinal -version | grep HeapSize
在Windows上,使用以下命令查找默认值
java -XX:+PrintFlagsFinal -version | findstr HeapSize
查找MaxHeapSize(对于-Xmx)和InitialHeapSize(对于-Xms)选项
结果输出以字节为单位。如果您的IDE没有任何特定设置,它将使用Java默认设置,这取决于系统和Java版本。