【转载】 Docker-关于docker cpu的限制后,实际效果的研究
原文地址:
https://zhuanlan.zhihu.com/p/46275332
==================================================
思考:我们使用docker时,肯定会配置cpu和内存的限定,那么问题来了,限定后的docker使用宿主机的多核cpu时是什么策略呢(cpu分工是随机分到某个几个核上,还是固定某个核)?如果我docker内的构造资源占用超过限定的cpu占用,是否会出现cpu占用溢出?
1、配置docker容器的资源限制(宿主机为8cpu,8个核):如cpu2个、内存2G

2、资源占用前cpu情况
宿主机监控:可以看到配置生效

Top监控-查看宿主机各核占用情况:处于空闲状态

3、在docker容器中,跑消耗cpu脚本。

#! /bin/sh
# filename killcpu.sh
if [ $# != 1 ] ; then
echo "USAGE: $0 <CPUs>"
exit 1;
fi
for i in `seq $1`
do
echo -ne "
i=0;
while true
do
i=i+1;
done" | /bin/sh &
pid_array[$i]=$! ;
done
for i in "${pid_array[@]}"; do
echo 'kill ' $i ';';
done
使用方法很简单,参数2表示消耗2颗CPU的资源,运行后,会有一堆 kill 命令,方便 kill 进程:
[root@centos20181008-58bd6cb49-cvcph /]# sh killcpu.sh 2
kill 44 ;
kill 46 ;
4、查看cpu消耗:cpu占用200%左右(2C占满)--合理情况

top监控:独占某两个核

5、再加一个运行脚本:死循环,运行单个可以消耗100%的cpu (如果是3c的话,将会占用300%的cpu)
#!/bin/bash
set i=0
set j=0
for((i=0;i<10;))
do
let "j=j+1"
done
6、查看cpu消耗:宿主机针对docker cpu监控正常200%左右(2C的占用),但针对8C的监控,发现压力分到4核上了,合计还是200%左右

总结(我又验证了其他几组数据):
容器限定 脚本构造cpu占用 宿主机cpu核占用 限定是否生效
2核(200%) 200% 2核(各100%) 生效(监控容器205%占用)
3核(300%) 300% 3核(各100%) 生效(监控容器303%占用)
2核(200%) 300% 4核(26/68/64/49%,共207%) 生效(监控容器205%占用)
3核(300%) 400% 6核(42/53/28/42/75/75%,共315%)生效(监控容器310%占用)
A、通过压测可以看到,cpu限制设定可以生效(构造cpu溢出占用时,也生效);
B、限制cpu的机制,从实验数据可以发现,如果实际cpu使用率<=限制设置,那么使用宿主机的cpu占用核数=设定的核数(优先满核占用);但如果使用cpu的使用率>限制设置,虽然限制设置还是保持生效,但占用cpu会随机分摊到不同的核上,占用合计=限定值。
======================================
【转载】 Docker-关于docker cpu的限制后,实际效果的研究的更多相关文章
- 【转载】大白话Docker入门(一)
原文:https://yq.aliyun.com/articles/63035 随着docker现在越来越热门,自己也对docker的好奇心也越来越重,终于忍不住利用了一些时间把docker学习一遍. ...
- 如何使用 Docker 来限制 CPU、内存和 IO等资源?
如何使用 Docker 来限制 CPU.内存和 IO等资源?http://www.sohu.com/a/165506573_609513
- 【Docker】安装docker18.09.6后,无法启动
------------------------------------------------------------------------------------------------- | ...
- 在docker for windows建立mssql容器后,ssms连接mssql出现错误号码18456的问题
在docker for windows建立mssql容器后,ssms连接mssql出现错误号码18456的问题 笔者提供一个可能会没考虑到的点. 请检查本机是否安装了mssql!!! 请检查本机的ms ...
- 【Git+Docker】Docker初期学习认识和安装配置详解
Docker: 特性: 1.以应用为中心 2.自动化构建 3.版本控制 4.组件重用 5.镜像共享 6.工具生态系统 具体后续学习 优势: 1.文件系统隔离 2.进程隔离 3.网络隔离 4.资源隔离和 ...
- Docker(一):Docker入门教程
如今Docker的使用已经非常普遍,特别在一线互联网公司.使用Docker技术可以帮助企业快速水平扩展服务,从而到达弹性部署业务的能力.在云服务概念兴起之后,Docker的使用场景和范围进一步发展,如 ...
- 【Docker】Docker概述
[Docker] Docker可以说是近几年非常热门的技术之一了.不管是别人敦促我还是从自己的想法来说,都觉得Docker这玩意儿肯定是要好好学习一下的,无奈没啥时间专门播出来给Docker,一直以来 ...
- docker ,docker与虚拟机的区别
什么是Docker: 1.Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目.它基于 Google 公司推出的 Go 语言实现. 项目后来加入了 L ...
- docker 3 docker安装
centos docker安装 docker支持以下centos版本: centos 7 (64-bit) centos 6.5 (64-bit)或更高的版本 前提条件 目前,centos仅发行版中的 ...
- docker 2 docker介绍
docker是基于go语言实现的云开源项目 docker的主要目标是‘build ,ship and run any app,anywhere’,也就是说通过对应用程序组件的封装,分发,部署,运行等生 ...
随机推荐
- 通过JS来触发<a>链接来实现图片下载
function downloadImg(){ var url = '实际情况的图片URL'; // 获取图片地址 var a = document.createElement('a'); // 创建 ...
- 知名火锅连锁企业,IT 团队如何在数千家门店中先于用户发现故障
该知名火锅连锁企业是中国领先的餐饮企业,上千家门店遍布全球,由于门店餐饮行业的特殊性,需要靠前部署服务,所以在每家餐厅中,会部署相应的服务器,及相应 IT 设备,本地会运行POS.会员.下单等业务.公 ...
- MoneyPrinterPlus:AI自动短视频生成工具,赚钱从来没有这么容易过
这是一个轻松赚钱的项目. 短视频时代,谁掌握了流量谁就掌握了Money! 所以给大家分享这个经过精心打造的MoneyPrinterPlus项目. 它可以:使用AI大模型技术,一键批量生成各类短视频. ...
- Chrome插件:Vue.js Devtools 高效地开发和调试
在现代前端开发中,Vue.js因其灵活性和性能优势,受到越来越多开发者的青睐.然而,随着项目规模的扩大,调试和优化变得愈发复杂.幸运的是,Vue.js Devtools的出现,为开发者提供了一套强 ...
- Linux 环境编程:errno的基本用法
背景 error是一个包含在<errno.h>中的预定义的外部int变量,用于表示最近一个函数调用是否产生了错误.若为0,则无错误,其它值均表示一类错误. errno只在函数返回错误时才有 ...
- NXP i.MX 8M Plus工业开发板规格书(四核ARM Cortex-A53 + 单核ARM Cortex-M7,主频1.6GHz)
1 评估板简介 创龙科技TLIMX8MP-EVM是一款基于NXP i.MX 8M Plus的四核ARM Cortex-A53 + 单核ARM Cortex-M7异构多核处理器设计的高性能工业评估板 ...
- 【Hadoop】Hadoop集群组件默认端口
这里包含使用到的组件:HDFS, YARN, HBase, Hive, ZooKeeper: 组件 节点 默认端口 配置 用途说明 HDFS DataNode 50010 dfs.datanode.a ...
- Spring的全局(统一)异常处理
异常处理的三种方式 使用 @ExceptionHandler 注解 实现 HandlerExceptionResolver 接口(SpringMVC) 使用 @RestControllerAdvice ...
- SpringBoot 2.5.5整合SpringSecurity+JWT
目录结构 添加依赖 <!-- SpringSecurity --> <dependency> <groupId>org.springframework.boot&l ...
- 基于Java+Spring+Vue仓储出入库管理系统设计和实现
\n文末获取源码联系 感兴趣的可以先收藏起来,大家在毕设选题,项目以及论文编写等相关问题都可以给我加好友咨询 系统介绍: 网络的广泛应用给生活带来了十分的便利.所以把仓储出入库管理与现在网络相结合,利 ...