首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >码头经营

码头经营
EN

Stack Overflow用户
提问于 2015-07-29 13:59:54
回答 1查看 7.4K关注 0票数 6

我通过将cpuset指定为1个核心启动了一个坞容器:

代码语言:javascript
复制
docker run --cpuset-cpus="0"...

第二个方法是将cpuset指定为4个核:

代码语言:javascript
复制
docker run --cpuset-cpus="0-3"...

我在每个容器中启动了一个加载过程,并监视了这两个容器的cpu消耗。

加载过程类似于:

代码语言:javascript
复制
ffmpeg input > output

我观察到,两个货柜之间的执行时间并无改善(没有加快速度)。

你知道为什么没有改进吗?有4个核心的容器应该比一个核心容器运行得更快,对吗?

注:1芯容器使用顶部

代码语言:javascript
复制
CPU0%=100%
CPU1%=0
CPU2%=0
CPU3%=0

使用顶部4核心集装箱,码头随机选择4个核心之一启动过程。有时它会影响到每个核心的30%。

代码语言:javascript
复制
CPU0%=0                  CPU0%=30%                   CPU0%=0
CPU1%=100%       or      CPU0%=30%            or     CPU0%=0
CPU2%=0                  CPU0%=30%                   CPU0%=0
CPU3%=0                  CPU0%=30%                   CPU0%=100%
EN

回答 1

Stack Overflow用户

发布于 2015-07-29 14:03:04

gzip不使用多核,即使它们是可用的。因此,该程序不适合在CPU核心的使用方面进行性能测试。

使用pzip代替。请参阅利用多核进行tar+gzip/bzip压缩/解压缩

还请参见如何在Linux服务器上产生高CPU负载?

可以方便地在Docker上使用stress工具,因此您可以通过运行以下命令来验证码头--cpuset-cpus选项是否正常工作:

代码语言:javascript
复制
docker run --rm -it --cpuset-cpus="0-3" jess/stress --cpu 4

→,您将看到,所有的4个核心去100%的使用。

然后通过跑:

代码语言:javascript
复制
docker run --rm -it --cpuset-cpus="0-1" jess/stress --cpu 4

→您将看到,只有两个核心去100%的使用。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31702695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档