send a tag suggestion

which tags should be associated with each other?


why should these tags be associated?

Use the form below to provide more context.

#cgroups


leftpaddotpy
@leftpaddotpy

Apparently memory pressure causing computers to fall over by thrashing is a solved problem. Cool. This is useful to my interests because an unimportant service I maintain at work has fallen over a couple of times and I would like to encourage that to not happen.

Here's some results from some people implementing a userspace OOM killer and resource control on Linux in which misbehaved programs cause brief minor service degradation but don't take down the box: https://facebookmicrosites.github.io/cgroup2/docs/fbtax-results.html

In my hacking, I learned about how swap is useful to treat every type of memory usage equally. This is somewhat counterintuitive, but cold ephemeral mappings are significantly less useful to keep in memory than hot disk pages. In the absence of swap, these aren't well prioritized: when there's memory pressure, the kernel may be forced to flush disk pages even if this is a bad idea, but the memory cannot be, even if it's cold.

See: https://chrisdown.name/2018/01/02/in-defence-of-swap.html


leftpaddotpy
@leftpaddotpy

slides https://www.usenix.org/system/files/lisa21_slides_down.pdf

The thing i found most interesting about this talk is that they again had the same problem with IO latency targets as CPU limits: when the system isn't satisfying them, it throttles things, which causes them to exhibit nonlinear behaviour (read: go to shit by being stuck in throttling prison). Now, there's QoS models so it will more gently fill the available resources without throttling anything.

See the io.cost.qos settings, and https://lwn.net/Articles/793460/