Docker bash:fork:無法分配記憶體

Docker bash:fork:無法分配記憶體

我正在嘗試透過單獨的守護程序創建 4000 多個 docker 容器(以避免每個橋 1023 個 veth 的障礙)。但我越來越

bash:fork:無法分配內存

ulimit錯誤在1800左右。Docker 版本 1.8 RedHat 版本 7

答案1

bash 不使用vfork且 bash 很大。

這會導致許多分叉消耗大量虛擬記憶體。

這很可能是由系統上的實際記憶體資源引起的問題,而不是由您可以透過 控制的東西引起的ulimit

您是否嘗試過使用 Bourne Shell 或 ksh93?兩者都用於vfork()優化性能。

答案2

問題在於 docker 殭屍行程正在消耗核心行程容量,可以透過增加 kernel.pid_max 來解決問題

相關內容