Open janvorli opened 1 year ago
Tagging subscribers to this area: @dotnet/area-meta See info in area-owners.md if you want to be subscribed.
Author: | janvorli |
---|---|
Assignees: | - |
Labels: | `enhancement`, `area-Meta`, `discussion` |
Milestone: | 9.0.0 |
A process can register triggers on stalls, use poll on the related descriptor and get notified on the stalls. We would like to investigate if we can use it to make the runtime detect / respond better to memory and CPU pressure.
Last I looked into this (around 3 years ago), this was restricted to root processes. However, this change made earlier this year https://github.com/torvalds/linux/commit/d82caa273565b45fcf103148950549af76c314b0 (which landed in 6.4) allows unprivileged processes to do this as well.
There was a question here about improving the behavior when multiple .NET processes run in the same container: https://github.com/dotnet/runtime/discussions/84828.
It affects in particular building .NET applications in a container, because such builds have several .NET processes running.
@tmds that's a good point, I'll include it in the list.
@mangod9 - Should this move out to 10.0.0?
some of this work has been done in 9. @janvorli , @cshung : is there anything we should keep around for 10?
With cgroups v2, it does set the memory.low to the request size, so we can easily extract it.With cgroups v2, Kubernetes doc states it may set the memory.low to the request size, but in reality, the current Kubernetes based systems don't do that.