如何在容器运行过程中对容器的资源限制进行调整

简介: 背景docker run和docker create有一些参数可以对容器使用的主机资源进行限制。这些主机资源主要有如下类型cpu调度内存使用量io权重但是一旦创建了容器,容器在运行中或者不在运行中,如何调整这些资源参数呢?动态调整资源限制docker提供了update命令,可以对容器进行资源限制的调整,无论这个容器是否在运行中。

背景

docker run和docker create有一些参数可以对容器使用的主机资源进行限制。这些主机资源主要有如下类型

  • cpu调度
  • 内存使用量
  • io权重
    但是一旦创建了容器,容器在运行中或者不在运行中,如何调整这些资源参数呢?

动态调整资源限制

docker提供了update命令,可以对容器进行资源限制的调整,无论这个容器是否在运行中。

参数名 说明 备注
block-weight 块io权重10-1000之间可设置,0表示关闭此功能 Na
cpu-period cpu cfs(linux的绝对公平调度器,linux系统默认的调度器)的周期 Na
cpu-quota cpu cfs调度器的quota Na
cpu-rt-period 针对实时进程,设置cpu实时调度器周期,单位为us Na
cpu-rt-runtime 针对实时进程,设置在一个周期之内可以运行的时间 Na
cpu-share/-c cpu份额 设置当cpu资源受限时刻,本容器在所有容器中cpu资源使用权重,默认为1024.增加或减少此值修改了此容器的权重。当主机资源充分时刻,此参数不起作用。
cpus cpu资源比率 其实就是cpu-quota/cpu-period的比率,只在docker13以后可用
cpuset-cpus cpu亲和性 Na
cpuset-mems cpu的numa节点亲和性 Na
memory/-m 内存限制 硬限制,设置此值时需要带单位b,k,m和g
memory-reservation 内存限制 软限制,一定需要小于-m参数
memory-swap 设置容器内存+swap内存的总限制大小 一定大于-m参数

动态调整restart策略

docker update 可以对—restart参数进行升级
docker update —restart=on-failure:3 zxy
如果docker run启动带-rm参数,那么不能再docker update设置restart参数

目录
相关文章
|
29天前
|
存储 消息中间件 容器
当一个 Pod 中包含多个容器时,容器间共享一些重要的资源和环境,这使得它们能够更有效地协同工作和交互。
当一个 Pod 中包含多个容器时,容器间共享一些重要的资源和环境,这使得它们能够更有效地协同工作和交互。
|
3月前
|
存储 安全 Linux
Podman入门全指南:安装、配置与运行容器
Podman入门全指南:安装、配置与运行容器
1811 1
|
1月前
|
JSON JavaScript 开发者
Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
【8月更文挑战第7天】Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
|
28天前
|
存储 Kubernetes 数据中心
在K8S中,同⼀个Pod内不同容器哪些资源是共用的,哪些资源是隔离的?
在K8S中,同⼀个Pod内不同容器哪些资源是共用的,哪些资源是隔离的?
|
1月前
|
缓存 Kubernetes 数据中心
在Docker中,如何控制容器占用系统资源(CPU,内存)的份额?
在Docker中,如何控制容器占用系统资源(CPU,内存)的份额?
|
1月前
|
Kubernetes Shell 测试技术
在Docker中,可以在一个容器中同时运行多个应用进程吗?
在Docker中,可以在一个容器中同时运行多个应用进程吗?
|
1月前
|
Shell Docker 容器
在Docker中,如何停止所有正在运行的容器?
在Docker中,如何停止所有正在运行的容器?
|
1月前
|
监控 Ubuntu Docker
如何在Docker容器启动时自动运行脚本
【8月更文挑战第13天】在Docker容器启动时自动运行脚本可通过以下方式实现:1) 使用`ENTRYPOINT`或`CMD`指令在Dockerfile中直接指定启动脚本,如`ENTRYPOINT ["/startup.sh"]`;2) 启动容器时通过`--entrypoint`参数指定脚本路径;3) 利用supervisor等进程管理工具自动启动与监控脚本,确保其稳定运行。确保脚本具有执行权限并正确设置依赖资源路径。
480 1
|
1月前
|
弹性计算 Kubernetes 开发者
利用容器化服务实现游戏服务器的动态资源配置
【8月更文第12天】在游戏行业中,用户基数的变化往往呈现出明显的波动性,特别是在推广活动期间,用户基数会显著增加,而在非推广期则会有所下降。为了应对这种变化,游戏开发者需要一种能够根据用户基数动态调整服务器资源的解决方案,以确保用户体验的同时最大限度地节省成本。容器化服务因其灵活的资源管理和成本控制能力,成为了理想的解决方案。
37 2
|
30天前
|
存储 缓存 监控
在Linux中,如何优化虚拟机和容器的性能和资源使用?
在Linux中,如何优化虚拟机和容器的性能和资源使用?