美文网首页
Docker资源限制

Docker资源限制

作者: 麟之趾a | 来源:发表于2020-07-15 17:57 被阅读0次

Docker资源限制

CGroups:把服务器上的资源以指定的方式进行对docker分配
cpu:可压缩型资源,即一个容器占用全部cpu资源3分钟,另一个容器不会因得不到cpu而崩溃
内存: 不可压缩资源,如果进程全部运行,需要3G资源,但只给1G资源,就会报OOM

限制内存

-m or --memory  设置这个容器最大使用多大内存
--memory-swap 当前容器允许被使用的交换分区大小
--memory-swappiness 设置使用交换分区的倾向性。在0到100之间,值越大越倾向使用
--memory-reservation 给系统保留多大空间
--kernel-memory 给内核保留多大空间
--oom-kill-disable 如果容器发生OOM,不要kill掉

限制cpu

--cpu-shares  基于权重设置cpu,一般权重为2的倍数。共享cpu资源,假设有A和B两个容器,如果A和B都要使用cpu,基于权重比值来做。如果A不使用cpu,只有B用。B可以占据全部cpu资源
--cpus=<value> 整个系统上你一共可以占据多少个cpu,假设cpu一共有8个核心。这设置2核,程序可以跑8个核心,但最多使用2个核心
cpu核心 1c=1000mc
--cpuset-cpus 指定容器跑在哪个核上,cpu绑定

系统资源的压测镜像

docker-stress-ng
docker run --name stress -it --rm lorel/docker-stress-ng --help 查看帮助
-c 启动几个进程做cpu压测
-m ,--vm 启动几个进程,对内存做压测
压测cpu
docker run --name stress --cpus 2 --rm lorel/docker-stress-ng -c 4
docker stas 查看容器占用资源的情况
docker top stress 查看容器内进程的占用资源的情况
docker run --name stress --cpus 2 --cpuset-cpus 0,2 --rm lorel/docker-stress-ng -c 4
# 压测内存
docker run --name stress -m 512m --rm lorel/docker-stress-ng -vm 2

相关文章

网友评论

      本文标题:Docker资源限制

      本文链接:https://www.haomeiwen.com/subject/ggrjhktx.html