码迷,mamicode.com
首页 > 其他好文 > 详细

docker内存及cpu限制(不断总结中)

时间:2017-02-08 23:23:03      阅读:1402      评论:0      收藏:0      [点我收藏+]

标签:docker资源限制

在一台物理机上启动了多个docker容器时,就需要对内存及cpu做出相关的限制,以达到容器互不影响的目的

限制内存:-m选项

注:限制内存后进入容器中(free -m)查看内存,显示的内存为物理机的内存

[root@localhost ~]# docker run -d -p 80 -m 200m --name nginx nginx
b1086dbc4e4a4230c6289d99230c8a6a37e9e28e993678303cb97acd7faa6a09
[root@localhost ~]# docker ps 
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                            NAMES
b1086dbc4e4a        nginx               "nginx -g ‘daemon off"   3 seconds ago       Up 3 seconds        443/tcp, 0.0.0.0:32768->80/tcp   nginx

查看限制结果:docker stats命令

可以看到此容器的内存使用量以及最大可以内存

[root@localhost ~]# docker stats nginx

CONTAINER           CPU %               MEM USAGE / LIMIT     MEM %               NET I/O             BLOCK I/O           PIDS
nginx               0.00%               8.586 MiB / 200 MiB   4.29%               648 B / 648 B       6.926 MB / 0 B      0

技术分享


限制cpu的使用个数:--cpuset-cpus

--cpuset-cpus使用方法:

    0,1,3,5:指定使用0,1,3,5的cpu

    0-3:使用0,1,2,3的cpu

[root@localhost ~]# docker run -d -p 80 --name nginx-test --cpuset-cpus=0 nginx

测试限制cpu是否成功:

注:限制cpu后进入容器中通过top查看的还是物理机的cpu

测试方法:agileek/cpuset-test

下载CPU测试image;agileek/cpuset-test给出了一种用于测试CPU的image,功能就是将指定的CPU资源用满

[root@localhost ~]# docker pull agileek/cpuset-test
Using default tag: latest
latest: Pulling from agileek/cpuset-test
ff9ec0a03b10: Pull complete 
Digest: sha256:ba93b1446b8a2e70850001ebc1679d5be41fc5700133eebc116db70c213835bd
Status: Downloaded newer image for agileek/cpuset-test:latest

测试--cpuset-cpus=0

[root@localhost ~]# docker run -it --rm --cpuset-cpus=0 agileek/cpuset-test

另开一窗口观察cpu的压力情况:mpstat -P ALL 3(mpstat安装包为sysstat)

可以看到cpu0的在完全占用的情况,其余的cpu并没有受到影响

由此判定--cpuset-cpus的高定生效了

[root@localhost ~]# mpstat -P ALL 3
Linux 3.10.0-229.el7.x86_64 (localhost.localdomain) 	02/08/2017 	_x86_64_	(4 CPU)

03:16:38 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
03:16:41 PM  all   24.94    0.00    0.08    0.00    0.00    0.00    0.00    0.00    0.00   74.98
03:16:41 PM    0   99.67    0.00    0.33    0.00    0.00    0.00    0.00    0.00    0.00    0.00
03:16:41 PM    1    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
03:16:41 PM    2    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
03:16:41 PM    3    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00

03:16:41 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
03:16:44 PM  all   24.96    0.00    0.08    0.00    0.00    0.00    0.00    0.00    0.00   74.96
03:16:44 PM    0   99.67    0.00    0.33    0.00    0.00    0.00    0.00    0.00    0.00    0.00
03:16:44 PM    1    0.00    0.00    0.33    0.00    0.00    0.00    0.00    0.00    0.00   99.67
03:16:44 PM    2    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
03:16:44 PM    3    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00

技术分享 



本文出自 “激情燃烧的岁月” 博客,请务必保留此出处http://liuzhengwei521.blog.51cto.com/4855442/1896177

docker内存及cpu限制(不断总结中)

标签:docker资源限制

原文地址:http://liuzhengwei521.blog.51cto.com/4855442/1896177

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!