如何在AWS ECS中增加Java堆大小?
我用JavaSpringboot开发了RESTAPI。我已将此API部署为AWS ECS中的docker容器。我在AWS任务中分配了2048MB作为硬内存,1024作为软内存。ECS启动docker容器后,我访问docker容器并执行以下命令 java-XX:+PrintFlagsFinal-version | grep HeapSize 我得到以下结果如何在AWS ECS中增加Java堆大小?,java,amazon-web-services,Java,Amazon Web Services,我用JavaSpringboot开发了RESTAPI。我已将此API部署为AWS ECS中的docker容器。我在AWS任务中分配了2048MB作为硬内存,1024作为软内存。ECS启动docker容器后,我访问docker容器并执行以下命令 java-XX:+PrintFlagsFinal-version | grep HeapSize 我得到以下结果 uintx ErgoHeapSizeLimit = 0
uintx ErgoHeapSizeLimit = 0 {product}
uintx HeapSizePerGCThread = 87241520 {product}
uintx InitialHeapSize := 33554432 {product}
uintx LargePageHeapSizeThreshold = 134217728 {product}
**uintx MaxHeapSize := 536870912** {product}
结果中显示的MaxHeapSize为536870912,约为536MB(约为软内存的一半)
我想知道如何在AWS ECS环境中将堆大小增加到至少800 MB
我知道如何使用命令java-Xmx800m设置堆大小,但我不知道在AWS ECS环境中在何处执行此命令。在dockerfile中添加xmx属性。例如cmd java-Xmx800m在dockerfile中添加xmx属性。例如cmd java-Xmx800m your_jar我还在ECS Fargate中部署了Spring boot rest服务,因为ECS任务的硬内存限制是4096 MB,软内存限制留空,看起来java堆内存只使用了1 GB。我应该如何访问docker容器来验证Java的堆内存大小?我应该如何将堆内存分配给容器 下面的命令在Dockerfile中有效吗
ENTRYPOINT[“java”、“-Djava.security.egd=file:/dev/uradom-Dspring.profiles.active=mycon-Xmx2048m-Xms3072m”、“-jar”、“my.jar”]我还在ECS Fargate中部署了Spring boot rest服务,因为ECS任务的硬内存限制为4096 MB,软内存限制为空,看起来java堆内存仅使用1 GB。我应该如何访问docker容器来验证Java的堆内存大小?我应该如何将堆内存分配给容器 下面的命令在Dockerfile中有效吗
ENTRYPOINT[“java”、“-Djava.security.egd=file:/dev/uradom-Dspring.profiles.active=mycon-Xmx2048m-Xms3072m”、“-jar”、“my.jar”]我尝试了CMD[“java”、“-Xmx3024m”、“-jar”、“-Dconfpath=/conf”、“-Dspring.profiles.active=aws”、“/opt/lib/myjar.jar”]但这给了我一个错误:“找不到或加载主类java”。因此,我使用了命令CMD[“-Xmx3024m”、“-Xms3024m”、“-jar”、“-Dconfpath=/conf”、“-Dspring.profiles.active=aws”、“/opt/lib/myjar.jar”],虽然有效,但堆大小没有更改为3GB。堆大小始终显示为756MB。有什么想法吗?如果您可以在容器中使用ssh并处理命令,也可以尝试使用这个入口点[“sh”、“-c”、“java-Xmx3024m-Xms3024m-jar-urjar”]CMD[--spring.profiles.active=prod]。检查提供给容器的内存。您还应该检查aws ecsI CMD[“java”、“-Xmx3024m”、“-Xms3024m”、“-jar”、“-Dconfpath=/conf”、“-Dspring.profiles.active=aws”、“/opt/lib/myjar.jar”]中任务定义中指定的内存限制,但这给了我错误“错误:找不到或加载主类java”。因此,我使用了命令CMD[“-Xmx3024m”、“-Xms3024m”、“-jar”、“-Dconfpath=/conf”、“-Dspring.profiles.active=aws”、“/opt/lib/myjar.jar”],虽然有效,但堆大小没有更改为3GB。堆大小始终显示为756MB。有什么想法吗?如果您可以在容器中使用ssh并处理命令,也可以尝试使用这个入口点[“sh”、“-c”、“java-Xmx3024m-Xms3024m-jar-urjar”]CMD[--spring.profiles.active=prod]。检查提供给容器的内存。您还应该检查aws ecs中任务定义中指定的内存限制