Spring boot docker spring引导应用程序的JVM堆大小是如何设置的?
我从未设置docker映像的堆大小Spring boot docker spring引导应用程序的JVM堆大小是如何设置的?,spring-boot,docker,jvm,heap-memory,Spring Boot,Docker,Jvm,Heap Memory,我从未设置docker映像的堆大小 root@0f94b4ca1efb:/# java -XX:+PrintFlagsFinal -version | grep HeapSize size_t ErgoHeapSizeLimit = 0 {product} {default} size_t HeapSizePerGCThread
root@0f94b4ca1efb:/# java -XX:+PrintFlagsFinal -version | grep HeapSize
size_t ErgoHeapSizeLimit = 0 {product} {default}
size_t HeapSizePerGCThread = 43620760 {product} {default}
size_t InitialHeapSize = 33554432 {product} {ergonomic}
size_t LargePageHeapSizeThreshold = 134217728 {product} {default}
size_t MaxHeapSize = 513802240 {product} {ergonomic}
uintx NonNMethodCodeHeapSize = 5825164 {pd product} {ergonomic}
uintx NonProfiledCodeHeapSize = 122916538 {pd product} {ergonomic}
uintx ProfiledCodeHeapSize = 122916538 {pd product} {ergonomic}
但我可以在图中看到,最大堆大小是513M。所以它是被计算出来的。如果我想增加它,我该如何设置它
我试过这么做
docker run -d --name devServer -e "SPRING_PROFILES_ACTIVE=dev" -e "JAVA_OPTS=-Xmx1g" -p 8080:8080 efd2e03a-8b5f-402a-8222-c8953e9f16aa /bin/bash
但是它没有效果JVM会根据运行它的机器的规格自动配置堆大小,下面的文章详细介绍了这一点
这可能会回答您的问题:您使用的是哪个版本的JDK?如果您使用的是JDK>=10,则会自动识别并强制执行内存限制。