• docker——cgroup限制的应用实例


    cgroup限制:

    限制的好处:用户可以分配给容器具体的硬件资源,就是防止某个容器占用太多的资源而影响其他的容器或者host主机。

    对硬件的限制,也就是cgroup限制,能限制的很少,在容器创建时namespace已经限制好了,只有cpu,mem,硬盘我们来限制。

     

    (1)内存限制:

    目的:限制每一个内存线程分配多大内存。

    注意:限制的时候不能超过物理内存,可以运行,但是会占用所有物理内存。

    格式:

    docker run -itd -m 200M --memory-swap=300M centos /bin/bash

     

    参数解释:

    memory可以使用200 swap可以使用100

     

    例子:

    docker run -itd -m 200M --memory-swap=300M progrium/stress --vm 1 --vm-bytes 280M

     

    progrium/stress:测试镜像,启动一个内存工作线程给280m内存

     

     

    (2)CPU限制:

    安装优先级进行限制,数值大,优先级高。

    docker run -it --name containera -c 1024 progrium/stress --cpu 1

     

    参数解释:

    1024:优先级越大越优先,占用比值,一个占用100,两个各自50%

     

    (3)硬盘(Block IO)限制:

    限制原因:会反复读写硬盘,容易坏

     

    bps  每秒钟读写的数据量

    设置参数:--device-read-bps

              --device-write-bps

    iops 每秒钟读写IO次数

              --device-read-iops

              --device-write-iops

    例子:

    docker run -itd --name containerc --blkio-weight 600 centos /bin/bahs

    参数解释:

    优先设置权重 --blkio-weight 600

     

    验证:

    **docker run -it --device-write-bps /dev/sda:30MB centos /bin/bash

    设置对硬盘的读写为30MB

     

    **time dd if=/dev/zero of=test.out bs=1M count=800 oflag=direct

    测试:

     

    **然后删除这个限制,创建一个新的容器,在进行测试,查看读写速度。

     

     

  • 相关阅读:
    编译impala2.0.0
    CentOS 7 安装Boost 1.61
    CentOS 6.4 编译安装LLVM3.3,Clang和Libc++
    批量修改dos文件到unix
    git win7 dos下设置代理
    vim源码编译启用python
    一张图看懂天津市教育云服务平台
    关于git中Pageant开机启动且自动关联秘钥
    Windows 10安装pip方法
    大数据中心的业务研发路线
  • 原文地址:https://www.cnblogs.com/Leonardo-li/p/8946357.html
Copyright © 2020-2023  润新知