0

parallel_tests在一个 docker 容器中执行,例如一个主机命令。

parallel_tests将检查资源,并为每个内核生成一个进程,在我的实例中,我有 8 个可用内核:

# docker info
Containers: 5
Images: 75
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 85
 Dirperm1 Supported: true
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.16.0-49-generic
Operating System: Ubuntu 14.04.2 LTS
CPUs: 8
Total Memory: 15.61 GiB
Name: camacho
ID: ZOYN:QGDO:UGMJ:TDDM:WEEM:ZEHJ:4OKB:V5WR:RGCL:NOKG:F5W5:SDEL
WARNING: No swap limit support

在没有 docker 的同一台机器上,很明显这些测试是并行运行的,并且会耗尽所有可用资源(正是我们想要的 CI)。

在 docker 中执行时,似乎所有内容都在单个进程中运行,并且结果仅同步来自每个测试运行程序(相比之下它要慢得多)。

我是否需要运行并行主机命令才能使用资源?我可以设置一个选项以允许我的 docker 命令派生更多并行进程吗?

4

1 回答 1

0

部分问题是在带有 virtualbox 的 OSX 上运行,而 virtualbox 被设置为仅使用一个内核运行。dinghy halt那么virtualbox| settings| system| processor. 将其设置为线程数,即四核超线程 CPU 的 8 个线程。

于 2015-10-06T16:05:28.993 回答