2024年7月14日

在Podman中,記憶體還很多卻OOM

之前使用container去build android時,發生明明記憶體還剩很多的情況下,卻直接報出OOM編譯失敗的情況,查了許久才發現是pids滿了。

在預設的情況下Podman會限制一個容器只能執行2048個process,而build android在-j 32的時候,有可能會突然跑到四千多個process,這時就會直接失敗

可以在run container時加上--pids-limit -1 來解除限制,例如:

$ podman run -it --rm --pids-limit -1 ubuntu:16.04


也可以修改 /etc/containers/containers.conf 中的 pids_limit 讓所有Container都套用相同設定

沒有留言:

張貼留言