Docker容器共享一个Python GIL吗?

当我在Docker容器中运行 Python脚本时,它会在~1分钟内完成一个执行循环.现在,当我从同一个图像中再增加2个容器,并在其中运行Python脚本时,一切都变慢为爬行并开始每个循环需要5-6分钟.

没有脚本是资源绑定的;有足够的RAM和CPU内核闲置.在64核Xeon Phi系统上运行3个容器时会发生这种情况.

那么Doc​​ker在所有容器中共享一个共同的Python GIL锁吗?我有哪些选择来分离GIL,因此每个流程都将以其全部潜在速度运行?

谢谢!

最佳答案

So does Docker share a common Python GIL lock among all containers?

没有.

GIL是每个Python进程,Docker容器可能有一个或多个Python进程,每个进程都有自己的GIL.

如果你不是多线程,你甚至不应该知道GIL.你在使用线程吗?

点赞