容器部署组实例资源限制

最近更新时间: 2024-09-05 15:09:00

实例资源限制说明

新建容器部署组时可以设置实例数量和每个实例资源限制,实例的资源限制包括两个指标:CPU 和内存大小。

Request:容器使用的最小资源需求,作为容器调度时资源分配的判断依赖。只有当节点上可分配资源量 >= 容器资源请求数时才允许将容器调度到该节点。但 Request 参数不限制容器的最大可使用资源值。 Limit: 容器能使用的资源最大值。

实例数量 * Request值 > 集群剩余的资源时,会提示 "资源不足,请导入节点" 的提示语。此时用户需要去集群页面导入云服务器以扩充资源。例如实例数量为2,实例资源Request是CPU=0.5核,内存=1GB,而集群剩余资源为CPU=0.8核,内存=2GB时, 由于 CPU 核数资源不够,会提示资源不足的错误。

Java 应用的最大堆内存和容器内存大小关系

Java 应用通常需要设置 JVM 启动参数,包括最大堆内存(-Xmx)的设置。建议 JVM 最大堆内存和容器实例内存资源大小的关系符合以下条件,避免容器 OOM(Out of memory):

容器内存 Request >= 1.25 * JVM 最大堆内存 ;

容器内存 Limit >= 2 * JVM 最大堆内存;

例如,启动参数中设置-Xmx为 1024m,应用容器实例内存的 Request 至少为 1280MiB,Limit 至少为 2560MiB。

关于如何使用启动参数,请参考 [制作镜像 > Spring Cloud 应用构建材料] 中 Dockerfile 启动命令中的${JAVA_OPTS}