我们在容器中运行docker镜像的时候,可以指定一些设置容器cpu和内存的相关参数来进行限制,这样子尽量把容器资源做的相对稳定一些。这些参数是在docker run/create命令使用,比如:
--memory-swap * 强依赖于--memory选项,但是--memory可单独使用,下面这个图片是我列举一些swap的使用规则
提示:我们设置使用的swap最好选择固态硬盘来进行加速。
--cpus=number:限制使用cpu的核心数。
--cpuset-cpus:限制使用在哪些个cpu上,跟httpd服务器的位图掩码表示法的功能一样。
--cpu-shares:表示cpu权重。
--oom-kill-disable:表示禁止被oom给kill掉。
--oom-score-adj number:其中number的值是-1000到1000,我们可以设置的尽量低,从而得分比较低,这样子会最小几率被oom给kill掉。
案例演示:
首先下载一个压测docker容器的镜像:
[root@elk-chaofeng08 ~]# docker pull lorel/docker-stress-ng Using default tag: latest latest: Pulling from lorel/docker-stress-ng c52e3ed763ff: Pull complete a3ed95caeb02: Pull complete 7f831269c70e: Pull complete Digest: sha256:c8776b750869e274b340f8e8eb9a7d8fb2472edd5b25ff5b7d55728bca681322 Status: Downloaded newer image for lorel/docker-stress-ng:latest
1、给内存限制
2、
效果如图所示:
2、给cpu压测
效果如图所示:
3、--cpu-shares的用法:
一般设置的cpu-shares为512的倍数。然后多个容器进行比例分配cpu资源。