kvm: too low thread limit #3382
Comments
/cc @jjlakis @lukasredynk @grahamwhaley @sameo I'm currently disabling the CRI smoke test on kvm. The |
For reference, this affects both lkvm and qemu. I also have a strong feeling that the "stop" non-deterministic test failures in #3091 are due to this. |
Hi @lucab (I'm now back at desk...) Thanks for the info - I'll go track down where those values come from and report back here. |
Thanks @grahamwhaley. I did some code reading the other day, here are the references I collected while at it:
However I'm missing how we end up with such a low value, while it looks like it should default to a much higher |
Digging into this some more, changing the RAM values in Just for example: Clean build:
and we can see the kvm-lkvm init does not get updated (I was going to go check in the aci itself, but the symptoms here match what I was seeing). Anyway, it does look like there is a direct ratio of RAM size to threads-max - the direct ratio always being around '128', even on my host machine. This leaves us with a couple of things then:
For (2), I'll go have a conversation and contemplate with the other Clear Containers architects to start with. |
Just to add more info, extending the memory on the command line also works for me. This:
Gives me (still with the 512 in the resources.go) ~1.4G in |
Ah, I overlooked this. I'd guess that some stamp files are not properly setup for kvm init.
Then with stop and CRI tests we hit pathological cases, as the pod start with either one or no app, thus 128(+128) MB of RAM, thus a very low thread-max setting and an even lower nproc limit on pid1.
For the short term I think we should bump the
|
I haven't fully debugged where the value is coming from, but (as of rkt 1.19.0) the current thread/proc limit on kvm is too low:
This results in a very low thread/proc limit on systemd-pid1 itself:
This in turn results in occasional fork/clone failures, eg. during a daemon-reload. This was spotted while writing the CRI tests at #3371.
The text was updated successfully, but these errors were encountered: