【发布时间】:2017-08-27 05:54:48
【问题描述】:
由于“可用交换空间”为 0,Jenkins 无法构建。我不知道如何解决这个问题。构建过程一直挂起。这里是部分输出:
当我 ssh 进入实例和 docker info 时,我得到一个 WARNING: No swap limit support。
【问题讨论】:
标签: docker jenkins kubernetes gcloud
由于“可用交换空间”为 0,Jenkins 无法构建。我不知道如何解决这个问题。构建过程一直挂起。这里是部分输出:
当我 ssh 进入实例和 docker info 时,我得到一个 WARNING: No swap limit support。
【问题讨论】:
标签: docker jenkins kubernetes gcloud
您的屏幕截图显示“正在等待下一个可用的执行程序”,因此请尝试增加 jenkins 中的执行程序数量(“管理 Jenkins”->“配置系统”->“执行程序数”)。
这里还有如何创建 Swapfile 的信息(用于避免构建大型 docker 容器等时内存不足)。该示例在 /myswap 位置创建 4G 交换文件:
sudo dd if=/dev/zero of=/myswap count=4096 bs=1MiB
sudo chmod 600 /myswap
sudo mkswap /myswap
sudo swapon /myswap
检查交换是否正常工作:
swapon -s
启动时启用交换,在 fstab 文件中添加行:
sudo nano /etc/fstab
添加这一行:
/myswap swap swap sw 0 0
【讨论】:
缺少交换不会阻止构建。如果您使用的是 kubernetes(给定您问题中的标签),您需要查看 Jenkins 日志,它会说明为什么无法创建容器
【讨论】:
Kubernetes strongly recommends to disable swap 在节点上,所以可用交换空间显示为 0B 是可以的。
【讨论】:
我在 helm hub 提供的默认 helm 图表中遇到了这个问题。原来#of executors实际上是0。
增加那个就解决了。
【讨论】: