背景
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参数
作者:marshalzxy
链接:https://www.jianshu.com/p/d569d4527249