如果 Docker 服务有 614 个 /usr/bin/unpigz 子进程,是不是出了什么问题

如果 Docker 服务有 614 个 /usr/bin/unpigz 子进程,是不是出了什么问题

在 GCE 中的 Ubuntu 实例中,当我通过 检查进程时,dockerd 下有 614 个 unpigz 子进程ps afx。正常吗?重新启动 Docker 后,是否有机会重现……?

答案1

这实际上是一个 BUG(参见https://github.com/moby/moby/issues/38608)。这些进程会在Docker服务重启后消失,但是只要使用Docker的ADD *.tar.gz(或类似)功能,它们就会再次创建。

答案2

效率低下但并不危险。您可以决定此类流程是否对您的环境有益。

是 gzip 的并行实现。--processes 的默认最大值是在线处理器的数量,每个容器都会看到系统的所有 CPU。它们将争夺 CPU 和 I/O,因此可能会堆积起来并稍微影响 Linux 调度程序。

最佳进程数可能接近 CPU 数量的 2 倍。如果您一次运行大量 pigz,则将它们序列化、减少 --processes 或使用常规非线程 gunzip 可能会更有效。

相关内容