iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >Docker如何实现CPU资源限制
  • 590
分享到

Docker如何实现CPU资源限制

2023-06-04 12:06:12 590人浏览 八月长安
摘要

这篇文章主要介绍了Docker如何实现CPU资源限制,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一: 描述 windows系统使用 --cpu-period int&nbs

这篇文章主要介绍了Docker如何实现CPU资源限制,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

一: 描述

windows系统使用

--cpu-period int                 限制CPU CFS 的周期,范围从 100ms~1s,即[1000,1000000]

--cpu-quota int                 限制CPU CFS 配额,必须不小于1ms,即>= 1000

-c, --cpu-shares int           CPU 共享权值(相对权重)

--cpuset-cpus string          允许使用的CPU 集,值可以为 0-3,0,1

--cpuset-memsstring        只对 NUMA 系统有效

三:命令说明

1.默认情况下,所有的容器得到同等比例的 CPU 周期。在有多个容器竞争 CPU 时我们可以设置每个容器能使用的 CPU 时间比例。这个比例叫作共享权值,通过-c或--cpu-shares设置。Docker 默认每个容器的权值为 1024。不设置或将其设置为 0,都将使用这个默认值。系统会根据每个容器的共享权值和所有容器共享权值和比例来给容器分配 CPU 时间。

假设有三个正在运行的容器,这三个容器中的任务都是 CPU 密集型的。第一个容器的 cpu 共享权值是 1024,其它两个容器的 cpu 共享权值是 512。第一个容器将得到 50% 的 CPU 时间,而其它两个容器就只能各得到 25% 的 CPU 时间了。如果再添加第四个 cpu 共享值为 1024 的容器,每个容器得到的 CPU 时间将重新计算。第一个容器的CPU 时间变为 33%,其它容器分得的 CPU 时间分别为 16.5%、16.5%、33%。

必须注意的是,这个比例只有在 CPU 密集型的任务执行时才有用。在四核的系统上,假设有四个单进程的容器,它们都能各自使用一个核的 100% CPU 时间,不管它们的 cpu 共享权值是多少。

在多核系统上,CPU 时间权值是在所有 CPU 核上计算的。即使某个容器的 CPU 时间限制少于 100%,它也能使用各个 CPU 核的 100% 时间。

docker提供了–cpu-period、–cpu-quota两个参数控制容器可以分配到的CPU时钟周期。–cpu-period是用来指定容器对CPU的使用要在多长时间内做一次重新分配,而–cpu-quota是用来指定在这个周期内,最多可以有多少时间用来跑这个容器。跟–cpu-shares不同的是这种配置是指定一个绝对值,而且没有弹性在里面,容器对CPU资源的使用绝对不会超过配置的值。

cpu-period和cpu-quota的单位为微秒(μs)。cpu-period的最小值为1000微秒,最大值为1秒(10^6 μs),默认值为0.1秒(100000 μs)。cpu-quota的值默认为-1,表示不做控制。

举个例子,如果容器进程需要每1秒使用单个CPU的0.2秒时间,可以将cpu-period设置为1000000(即1秒),cpu-quota设置为200000(0.2秒)。当然,在多核情况下,如果允许容器进程需要完全占用两个CPU,则可以将cpu-period设置为100000(即0.1秒),cpu-quota设置为200000(0.2秒)


四:测试

agileek/cpuset-test 镜像是一种用于测试CPU的image,功能就是将指定的CPU资源用满。

docker pull agileek/cpuset-test

    docker run -it --cpuset-cpus="1,3" agileek/cpuset /bin/bash

表示容器中的进程可以在cpu 1和cpu 3 上执行

    docker run -it --cpuset-cpus="0-2" agileek/cpuset /bin/bash

表示容器中的进程可以在cpu 1,cpu 2,cpu 3 上执行

   dockerrun -ti --rm --name mytest -c 1024 agileek/cpuset-test

打开一个新的端口,监控容器CPU占用情况
mpstat-P ALL 5 10

Docker如何实现CPU资源限制

感谢你能够认真阅读完这篇文章,希望小编分享的“Docker如何实现CPU资源限制”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网精选频道,更多相关知识等着你来学习!

--结束END--

本文标题: Docker如何实现CPU资源限制

本文链接: https://www.lsjlt.com/news/237770.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Docker如何实现CPU资源限制
    这篇文章主要介绍了Docker如何实现CPU资源限制,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一: 描述 Windows系统使用 --cpu-period int&nbs...
    99+
    2023-06-04
  • Docker如何实现Memory资源限制
    这篇文章主要为大家展示了“Docker如何实现Memory资源限制”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Docker如何实现Memory资源限制”这篇文章吧。一:简介docker通过cg...
    99+
    2023-06-04
  • docker资源限制与compose
    目录 一、私有仓库建立  二、Cgroup 资源配置方法  三、CPU使用率控制  使用 stress 工具测试 CPU 和内存 四、 CPU 周期限制 查询容器的资源限制参数 (1)在指定容器目录中 (2)使用docker inspect...
    99+
    2023-09-02
    linux docker 容器 服务器 运维
  • docker如何实现资源清理
    这篇文章将为大家详细讲解有关docker如何实现资源清理,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。docker 资源清理docker container&n...
    99+
    2024-04-02
  • Docker资源限制Cgroup怎么使用
    这篇文章主要介绍“Docker资源限制Cgroup怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Docker资源限制Cgroup怎么使用”文章能帮助大家解决问题。1.Cgroup简介_cgr...
    99+
    2023-07-02
  • Docker怎么实现自动分配和管理资源限制
    Docker可以通过使用资源限制功能来自动分配和管理资源。在Docker中,可以使用以下几种方法来限制和管理容器的资源: CPU...
    99+
    2024-04-02
  • docker资源限制和compose部署详解
    目录一、私有仓库建立二、Cgroup 资源配置方法 三、CPU使用率控制 使用 stress 工具测试 CPU 和内存四、 CPU 周期限制五、&nbs...
    99+
    2022-11-13
    docker 资源限制 docker容器资源限制 docker compose安装
  • 关于docker cgroups资源限制的问题
    目录一、cpu资源控制1、 设置cpu使用率上限2、设置cpu资源占用比(设置多个容器时才有效)3、设置容器绑定指定的CPU三、内存资源控制四、磁盘IO配额控制1、限制Block I...
    99+
    2024-04-02
  • docker资源控制管理Cgroup的实现
    目录前言一、对CPU使用率的控制1、 使用stress工具测试CPU和内存使用情况2、设置CPU资源占用比(设置多个容器时才有效)3、限制 CPU 使用周期速率4、限制 CPU 内核...
    99+
    2024-04-02
  • 如何利用Redis和Haskell实现资源限制功能
    如何利用Redis和Haskell实现资源限制功能在现代的网络应用中,对于资源的管理和限制是非常重要的。资源限制可以确保服务器的稳定性,防止滥用和恶意行为。本文将介绍如何利用Redis和Haskell实现资源限制功能,并提供具体的代码示例。...
    99+
    2023-10-22
    redis Haskell 资源限制
  • 如何实现消耗CPU资源的shell脚本
    这篇文章将为大家详细讲解有关如何实现消耗CPU资源的shell脚本,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。代码如下:#! /bin/sh  # filename killcpu.sh if...
    99+
    2023-06-09
  • docker中容器资源需求、资源限制及HeapSter的示例分析
    这篇文章主要介绍了docker中容器资源需求、资源限制及HeapSter的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。容器的资源需求、资源限制  ...
    99+
    2023-06-04
  • 利用docker怎么对容器资源进行限制
    利用docker怎么对容器资源进行限制?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。内存限制Docker 提供的内存限制功能有以下几点:容器能使用的内存和交换分区大小。容器的核...
    99+
    2023-06-07
  • C#资源池限制实例分析
    这篇“C#资源池限制实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C#资源池限制实例分析”文章吧。Semaphore...
    99+
    2023-06-29
  • 如何使用profile来限制用户的资源
    小编给大家分享一下如何使用profile来限制用户的资源,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!创建限制profile:#...
    99+
    2024-04-02
  • docker怎么实现资源隔离的
    Docker可以通过以下几种方式来实现资源隔离: 容器化技术:Docker使用Linux容器(LXC)技术来隔离容器之间的资源。...
    99+
    2023-10-26
    docker
  • Docker容器如何实现MySQL多源复制
    今天小编给大家分享一下Docker容器如何实现MySQL多源复制的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。⛳️ 1.多源...
    99+
    2023-07-02
  • 如何实现跨域图片资源权限CORS enabled image
    这篇文章主要介绍了如何实现跨域图片资源权限CORS enabled image,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。HTML 规范文档为 images 引入了 cro...
    99+
    2023-06-08
  • Docker Compose中如何限制容器的CPU和内存使用
    目录正文吐槽docker-compose限制CPU和内存验证总结正文 最近我在使用开源统计Umami过程中,发现CPU和内存经常占满,导致其它服务都不能正常使用。Umami我使用的d...
    99+
    2023-05-20
    Docker Compose限制CPU Docker Compose
  • solaris10如何使用projadd进行资源限制的添加
    这篇文章主要介绍了solaris10如何使用projadd进行资源限制的添加,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作