docker update修改内存/cpu
docker updateUsage:docker update [OPTIONS] CONTAINER [CONTAINER…]常用参数:--blkio-weight uint16#Block IO(相对权重),介于10到1000之间,或者为0禁用(默认为0)--cpu-period int#限制CPU CFS(完全公平调度程序)周期--cpu-quota int#限制CPU CFS(完全公平调
·
docker update
Usage: docker update [OPTIONS] CONTAINER [CONTAINER…]
常用参数:
--blkio-weight uint16 #Block IO(相对权重),介于10到1000之间,或者为0禁用(默认为0)
--cpu-period int #限制CPU CFS(完全公平调度程序)周期
--cpu-quota int #限制CPU CFS(完全公平调度程序)配额
--cpu-rt-period int #以微秒为单位限制CPU的实时周期
--cpu-rt-runtime int #以微秒为单位限制CPU实时运行时间
-c, --cpu-shares int #CPU shares (relative weight)
--cpus decimal #Number of CPUs
--cpuset-cpus string #允许执行的CPU(0-3,0,1)
--cpuset-mems string #允许执行的MEMs(0-3,0,1)
--kernel-memory bytes #Kernel memory limit
-m, --memory bytes #Memory limit
--memory-reservation bytes # 内存软限制
--memory-swap bytes #交换限制等于内存加交换:'-1'以启用无限制交换
--restart string #容器退出时要应用的重新启动策略
修改正在执行的容器:
docker update -m 30M --memory-swap 30M 897a6a09807a
要使所有正在运行的容器更新以使用核心1和1g内存:
docker update --cpuset-cpus "1" --memory "1g" $(docker ps | awk 'NR>1 {print $1}')
遇到的问题:
root@hty:/home/hty# docker update --memory "30m" --cpuset-cpus "0-3" 64f479468b7c
64f479468b7c
Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
这是在ubuntu或其他基于Debian的系统上才会出现的问题,原因是系统默认未开启swap限制。(开启后会使系统内存占用多1%,性能下降约10%,即使没有运行docker)
开启方法:
- 首先使用sudo -i获取系统sudo权限
- 修改系统的/etc/default/grub file文件。使用vim在这个文件中添加一行:
GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"
- 更新系统的GRUB:
sudo update-grub
改动在系统下次重启后生效。
docker容器 cpu memory资源限制
[https://www.cnblogs.com/zhuochong/p/9728383.html]
更多推荐
已为社区贡献1条内容
所有评论(0)