gpt4 book ai didi

memory-management - Spring Boot 默认内存设置是什么?

转载 作者:行者123 更新时间:2023-12-04 01:56:01 27 4
gpt4 key购买 nike

例如,如果我在没有定义的情况下从 IDE 运行/调试简单的 Spring Boot 应用程序,将设置什么大小的初始堆大小、最大堆大小和堆栈大小(-Xms、-Xmx、-Xss)?

最佳答案

默认情况下,Spring Boot 应用程序将使用 JVM 默认内存设置。

默认堆大小

如果您的物理内存大小高达 192 兆字节 (MB),则默认最大堆大小为物理内存的一半。

如果您的物理内存大小超过 192 兆字节,则默认最大堆大小是物理内存的四分之一。

例如,如果您的计算机有 128 MB 的物理内存,则最大堆大小为 64 MB,大于或等于 1 GB 的物理内存导致最大堆大小为 256 MB。

JVM 不会实际使用最大堆大小,除非您的程序创建了足够的对象来需要它。在 JVM 初始化期间分配的数量要小得多,称为初始堆大小。此数量至少为 8 MB,否则为物理内存的 1/64,最大为 1 GB 的物理内存大小。

分配给年轻代的最大空间量是总堆大小的三分之一。

您可以使用以下命令检查特定于您的机器的默认值

Linux:

java -XX:+PrintFlagsFinal -version | grep HeapSize



window :

java -XX:+PrintFlagsFinal -version | findstr HeapSize



引用: https://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/parallel.html#default_heap_size

默认线程堆栈大小

默认线程堆栈大小因 JVM、操作系统和环境变量而异。

要了解您的平台上的默认线程堆栈大小,请使用

在 Linux 中:

java -XX:+PrintFlagsFinal -version | grep ThreadStackSize



在 Windows 中:

java -XX:+PrintFlagsFinal -version | findstr ThreadStackSize

关于memory-management - Spring Boot 默认内存设置是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38564648/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com