This post was deleted

Replying to @⁨smallserverdata@lemmy.ml⁩

Hmm.

A lot of these are going to be just request-driven. That is, they aren’t really doing anything while idling. Thus, they don’t really need to be actually running.

If the idle memory usage is an actual concern — and honestly, the OS is probably just gonna page things out if the software is truly idle and it needs the memory for something else and it has paging space…I kind of assume that someone has built some sort of system that works like inetd, which avoided leaving non-containerized servers running. You register a port, and then inetd listens on it. When someone connects, it starts up the daemon in question (say, Apache or whatever). Just need to start a container on demand here. Maybe close it down after a long-enough period of inactivity.

EDIT:

old.reddit.com/…/startrun_a_container_when_incomi…

Start/run a container when incoming traffic detected

Sounds like you’re looking for inetd.

A more modern version of this is systemd socket activation.

Podman supports socket activation since version 3.4.0 (released Sep 2021).

en.wikipedia.orginetd - Wikipedia
Edited ⁨⁨Aug⁩ ⁨12⁩, ⁨2026⁩, ⁨04:41⁩⁩en

Replying to @⁨tal@lemmy.today⁩

Agreed, and this cuts deeper than the sizing question.

Most of these are idle event loops waiting on a socket. The memory is mostly runtime and heap that was allocated and never returned, so on a box under pressure a lot of it is reclaimable or swappable and the RSS I am reporting overstates what is genuinely needed at rest. That is another reason the idle number is weak.

Socket activation is the real version of your point. If an app is genuinely request driven then its idle cost can be near zero and the number that matters is what it grows to on first request and whether it ever gives it back. I do not measure the giving-it-back part at all right now, which I should, because that is the difference between a stack that fits in 2 GB and one that slowly does not.

Adding a post-load settle measurement to the harness is cheap so I will do that. I already sample for 10 seconds after load stops and the peak does not come back down much, but I have not run it long enough to say anything solid.