-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
containers-rootlessport memory hungry #10790
Comments
@AkihiroSuda PTAL |
A friendly reminder that this issue had no activity for 30 days. |
@AkihiroSuda @Luap99 @giuseppe Any thoughts on this? |
A friendly reminder that this issue had no activity for 30 days. |
I think one problem is that the containers-rootlessport process is using reexec inside podman. Because of it there will be a lot of unnecessary stuff loaded into memory which rootlessport never uses. Just as a POC I created a separate rootlessport binary which only contains the rootlessport code:
Compare this to the version with reexec on my system:
The separate binary uses less than 1/10 of the RSS than the reexec binary, so using a separate rootlessport binary to reduce the memory footprint looks promising to me. The disadvantage is that we would need to ship and maintain a separate binary. |
A friendly reminder that this issue had no activity for 30 days. |
Don't use reexec for the rootlessport process, instead make it a separate binary to reduce the memory usage. The problem with reexec is that it will import all packages that podman uses and therefore loads a lot of stuff into the heap. The rootlessport process however only needs the rootlesskit library. The memory usage is a concern since the rootlessport process will spawn two process per container which has ports forwarded. The processes stay until the container dies. On my laptop the current reexec version uses 47800 KB RSS. The new separate binary only uses 4540 KB RSS. This is more than a 90% improvement. The Makefile has been updated to compile the new binary and install it to the libexec directory. Fixes containers#10790 [NO TESTS NEEDED] Signed-off-by: Paul Holzinger <[email protected]>
maybe it's worth considering re-opening this:
Rocky Linux 9.1, Container in question is coturn.
EDIT: i've tried to get a coredump before the process dies but it's incredibly difficult because my ssh-session freezes... |
/kind bug
Description
I have 6 django apps container running on CentOS 8.4 with podman 3.1.2.
I found the containers-rootlessport process and its child eat a lot of memory (not really very much but it seems high for a component of podman).
Here is my ps output:
Steps to reproduce the issue:
Run some rootless containers, use htop or ps
Output of
podman version
:Output of
podman info --debug
:Package info (e.g. output of
rpm -q podman
orapt list podman
):The text was updated successfully, but these errors were encountered: