docker对cpu资源做限制
系列文章目录
`
文章目录
- 系列文章目录
- 一、cgroup
- 1.groups四大功能
- 2.CPU 资源控制
- 二、
- 1.限制可用的 swap 大小, --memory-swap
- 2.对磁盘IO配额控制(blkio)的限制
- 总结
一、cgroup
1.groups四大功能
资源限制:可以对任务使用的资源总额进行限制
优先级分配:通过分配的cpu时间片数量以及磁盘IO带宽大小,实际上相当于控制了任务运行优先级
资源统计:可以统计系统的资源使用量,如cpu时长,内存用量等
任务控制:cgroup可以对任务执行挂起、恢复等操作
2.CPU 资源控制
1、设置CPU使用率上限
Linux通过CFS(Completely Fair Scheduler,完全公平调度器)来调度各个进程对CPU的使用。CFS默认的调度周期是100ms。
CPU周期:指的是CFS调度CPU遍历处理一次容器所有的进程时长,默认是0.1s。设置范围为1ms~1s
Cgroups限制时间:使用cpu.cfs_quota_us 即可设置在每个周期内容器能使用的CPU的时长,默认是-1即不限制。
CPU利用率:Cgroups限制时间/CPU周期,默认Cgroups是-1而CPU周期为0.1s表示用满CPU
查看CPU默认配置:


-1为不设置时间

echo 50000 >cpu.cfs_quota_us
cat cpu.cfs_quota_us
再运行死循环脚本查看top进程发现只有50%对其做了限制

docker run -itd --name c3 --cpu-quota 30000 soscscs/myapp:v1
cd /sys/fs/cgroup/cpu/docker


二、
1.限制可用的 swap 大小, --memory-swap
强调一下,–memory-swap 是必须要与 --memory 一起使用的。
正常情况下,–memory-swap 的值包含容器可用内存和可用 swap。
所以 -m 300m --memory-swap=1g 的含义为:容器可以使用 300M 的物理内存,并且可以使用 700M(1G - 300)的 swap。
如果 --memory-swap 设置为 0 或者 不设置,则容器可以使用的 swap 大小为 -m 值的两倍。
如果 --memory-swap 的值和 -m 值相同,则容器不能使用 swap。
如果 --memory-swap 值为 -1,它表示容器程序使用的内存受限,而可以使用的 swap 空间使用不受限制(宿主机有多少 swap 容器就可以使用多少)。
2.对磁盘IO配额控制(blkio)的限制
--device-read-bps:限制某个设备上的读速度bps(数据量),单位可以是kb、mb(M)或者gb。
docker run -itd --name test9 --device-read-bps /dev/sda:1M centos:7 /bin/bash
1
--device-write-bps : 限制某个设备上的写速度bps(数据量),单位可以是kb、mb(M)或者gb。
docker run -itd --name c2 --device-write-bps /dev/sda:1M centos:7
docker exec -it c2 bash
dd if=/dev/zero of=./text.txt bs=1M count=10 oflag=direct
--device-read-iops :限制读某个设备的iops(次数)
--device-write-iops :限制写入某个设备的iops(次数)
docker run -itd --name c5 --device-write-bps /dev/sda:1M soscscs/myapp:v1
总结
相关文章:
docker对cpu资源做限制
系列文章目录 文章目录 系列文章目录一、cgroup1.groups四大功能2.CPU 资源控制 二、1.限制可用的 swap 大小, --memory-swap2.对磁盘IO配额控制(blkio)的限制 总结 一、cgroup 1.groups四大功能 资源限制:可以对任务使用的资源…...
国际化语言项目
基本概念 1、使用QString对象表示所有用户可见的文本。由于QString内部使用Unicode编码实现,所以它可以用 于表示所有需要向用户呈现的文本。当然,对于仅程序员可见的文本并不需要都变为QString对象,可利 用Qt提供的QCString或原始的“char …...
交直流系统潮流计算及相互关联特性分析(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
如何快速掌握Facebook运营+独立站运营基础?
在当今数字化时代,Facebook运营和独立站运营成为许多企业和个人创业者的关键战略。通过巧妙地结合这两个渠道,你可以有效地推广品牌、吸引目标受众并实现商业目标。本文将为你介绍如何快速掌握Facebook运营和独立站运营的基础知识,为你的业务…...
Java之旅(十三)
Java 类 Java类是Java编程语言中的基本构建块,是一种用户定义的数据类型,它可以被看作是一个模板或蓝图。它是对象的模板,,描述了一组具有相同特征(属性)和行为(方法)的对象。Java …...
Calibre 6.18.1 正式发布,功能强大的开源电子书工具
导读Calibre 开源项目是 Calibre 官方出的电子书管理工具。它可以查看,转换,编辑和分类所有主流格式的电子书。Calibre 是个跨平台软件,可以在 Linux、Windows 和 macOS 上运行。 Calibre 6.18.1 正式发布,此次更新内容如下&#…...
如何在C语言中定义和使用函数?
如何在C语言中定义和使用函数? 引言: 函数是C语言中的一个重要概念,它使程序能够模块化、重用和组织代码。通过将一段逻辑相关的代码封装到函数中,我们可以提高代码的可读性、可维护性和重用性。本文将详细介绍在C语言中定义和使…...
【C++】4.多媒体库:SFML库入门
😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍SFML库使用。 学其所用,用其所学。——梁启超 欢迎来到我的博客,一起学习知识,共同进步。 喜欢的朋友可以关注一下,下次更新不迷路&#…...
【算法题】1717. 删除子字符串的最大得分
插: 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 坚持不懈,越努力越幸运,大家一起学习鸭~~~ 给你一个字符串 s 和两个整数 x 和 y 。你可以执行下面…...
Codeforces Round 877 (Div. 2) ABCD
A. Blackboard List solve: 1、生成的数一定不是负数,所以有负数的情况下,负数一定是原来的数。 2、没有负数的情况下,最大的数一定是原来的数,因为操作只能使数变小。 void solve() {cin>>n;for(int i0;i<n;i)cin>&…...
easyExcel导入失败提示用户第几行有误并回滚数据
思路: 在controller定义一个map,将map传入excel监听器,在监听器中处理excel的数据,读取到某一行出现错误就将错误提示信息存入map并抛出一个异常给service。在service方法上开启事务,并将异常出实现数据回滚࿰…...
问道价值互联网,区块链的下一个十年 | 2023 开放原子全球开源峰会区块链分论坛即将启幕
随着全球 Web3 浪潮经由数字藏品、元宇宙的日渐普及而实现落地,区块链在“信息互联网”转向“价值互联网”中的重要作用正得到进一步认可。在数字经济蓬勃发展、数据成为重要生产要素的时代,区块链已不仅仅是一项技术、一种工具,更是一种思维…...
解读 Nginx 配置
tip:作为程序员一定学习编程之道,一定要对代码的编写有追求,不能实现就完事了。我们应该让自己写的代码更加优雅,即使这会费时费力。 推荐:体系化学习Java(Java面试专题) 文章目录 1、Nginx 配…...
知识变现海哥:课程定价容易出现的三大误区
哈喽,大家好,我是海哥,知识付费变现创业教练,教育公司培训总监,从事知识付费变现咨询10年,已助力3000人实现知识付费变现。 很多做知识付费的老师都有定价方面的困惑。怕定太高,卖不出去&#…...
Android开发 LogDog (日志狗)V2.0.0
目录 一、简介 二、使用推荐 1、初始化LogDog 2、运行中如何更改初始化时的配置? 三、更改 四、新功能 1、Log过滤 2、自定义打印 3、提供占位符式打印 一、简介 LogDog V1.0 版本https://blog.csdn.net/Ym_quiet/article/details/130453232?spm1001.2014…...
JavaScript break
在JavaScript中,break语句用于提前退出或终止循环或switch语句。它允许您立即停止循环或switch的执行,并继续执行后面的代码。 以下是在循环中使用break的示例: javascript for (var i 0; i < 10; i) { if (i 5) { break; // 当…...
linux服务器使用curl命令处理常用es查询
目录 场景: 结果格式化显示: 验证服务启动: 单个参数变量查询: 分页查询: 日期范围查询: must中单个参数条件查询 must中多个参数条件查询 使用filter过滤查询 使用sort过滤查询 总结: 场景…...
Office Visio 2013安装
哈喽,大家好。今天一起学习的是Visio 2013的安装,这是一个绘制流程图的软件,用有效的绘图表达信息,比任何文字都更加形象和直观。Office Visio 是office软件系列中负责绘制流程图和示意图的软件,便于IT和商务人员就复杂…...
C++ 私有析构函数的作用
如果一个类的析构函数声明为私有(private),其他对象或函数将无法直接调用析构函数。这意味着如果你尝试使用delete操作符删除该类的对象,将会导致编译错误,因为析构函数是不可访问的。 将析构函数声明为私有是一种防止…...
【C++】deque的用法
目录 一、容器适配器二、deque的介绍三、deque的使用及缺陷1、deque的构造函数2、deque的元素访问接口3、deque的 iterator的使用4、deque的增删查改4、deque的缺陷5、为什么选择deque作为stack和queue的底层默认容器 一、容器适配器 在了解deque前,我们先讲一讲什…...
墨语灵犀在互联网产品设计中的应用:用户需求分析与PRD生成
墨语灵犀在互联网产品设计中的应用:用户需求分析与PRD生成 每次产品评审会前,你是不是也经历过这样的夜晚?面对一堆零散的用户反馈、模糊的市场数据和脑子里盘旋的初步想法,要在短短几天内把它们梳理成一份逻辑清晰、结构完整的产…...
OpenClaw自动化周报生成:Qwen3-32B私有镜像精准提取Git提交记录
OpenClaw自动化周报生成:Qwen3-32B私有镜像精准提取Git提交记录 1. 为什么需要自动化周报生成 每周五下午,我都会面临同样的困扰:需要从零散的Git提交记录中手动整理本周工作内容,再拼凑成一份结构化的周报。这个过程不仅耗时&a…...
如何守护.NET应用源代码安全?Obfuscar开源混淆方案深度解析
如何守护.NET应用源代码安全?Obfuscar开源混淆方案深度解析 【免费下载链接】obfuscar Open source obfuscation tool for .NET assemblies 项目地址: https://gitcode.com/gh_mirrors/ob/obfuscar 在数字化时代,.NET应用程序面临着严峻的源代码安…...
从SolidWorks到Gazebo:手把手教你用SW2URDF插件为ROS2 Humble机械臂建模(含ROS2适配避坑指南)
从SolidWorks到Gazebo:ROS2 Humble机械臂建模全流程实战 1. 工业设计与机器人仿真的桥梁搭建 当机械工程师第一次接触机器人仿真时,往往会面临一个关键挑战:如何将精心设计的SolidWorks模型转化为可在Gazebo中运行的仿真模型?这个…...
小白也能搞定!用Docker和Halo 2.10搭建个人博客,再也不用担心公网访问问题
零基础玩转DockerHalo 2.10:打造高颜值个人博客全攻略 在数字内容创作爆发的时代,拥有一个专属博客空间已成为个人品牌建设的标配。但传统建站方案往往面临技术门槛高、维护成本大等痛点。本文将带你用Docker容器技术和Halo 2.10开源系统,30…...
Opencascade避坑指南:Select()函数7个常见使用误区与调试技巧
Opencascade避坑指南:Select()函数7个常见使用误区与调试技巧 在三维建模和CAD开发领域,Opencascade作为一款强大的开源几何内核,其交互功能一直是开发者关注的焦点。而AIS_InteractiveContext中的Select()函数,作为对象选取的核心…...
Sqoop网络传输优化指南:从数据传输机制到带宽调优实战
Sqoop网络传输优化指南:从数据传输机制到带宽调优实战1. 引言:数据迁移的命脉在于网络2. Sqoop数据传输机制深度解析2.1 架构设计:基于MapReduce的并行传输2.2 导入数据的工作机制2.3 导出数据的工作机制2.4 网络交互的核心模式3. 优化网络带…...
RWKV7-1.5B-g1a镜像部署教程:CSDN平台一键拉起Web服务,7860端口直连体验
RWKV7-1.5B-g1a镜像部署教程:CSDN平台一键拉起Web服务,7860端口直连体验 1. 模型简介 rwkv7-1.5B-g1a 是基于新一代 RWKV-7 架构的多语言文本生成模型,特别适合中文场景下的轻量级应用。这个1.5B参数的版本在保持较高生成质量的同时&#x…...
OpenClaw镜像体验:无需本地安装快速测试Qwen3.5-4B-Claude
OpenClaw镜像体验:无需本地安装快速测试Qwen3.5-4B-Claude 1. 为什么选择云端镜像方案 上周我在本地尝试部署OpenClaw时,被Node版本冲突和系统权限问题折磨了整整两天。当看到星图平台提供预装好的OpenClawQwen3.5-4B-Claude镜像时,立刻决定…...
4 大平台 “免费拿” 玩法大拆解,看完不踩坑
现在很多平台都有 “0元领东西” 的活动,玩法不一样,难度也差很多。今天用大白话对比拼dd、淘b、京d、全能锦鲤,简单易懂,看完就知道该选哪个。一、各平台免费拿怎么玩?1. 拼dd(老牌砍价)玩法&a…...
