Re: Fedora 32 System-Wide Change proposal (late): Enable EarlyOOM

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jan 07, 2020 at 09:19:47AM -0600, Michael Catanzaro wrote:
> On Tue, Jan 7, 2020 at 5:27 am, Mark Otaris <mark@xxxxxxxxx> wrote:
> >Try it. With a memory limit,
> >
> >podman run --rm -it --memory=1G fedora bash -c 'dnf install -y
> >stress-ng && stress-ng --malloc 100 --memcpy 100 --mmap 100 --vm
> >100'
> >
> >will use CPU but keep your system responsive. Without the memory limit
> >(this will hang your system),
> >
> >podman run --rm -it fedora bash -c 'dnf install -y stress-ng &&
> >stress-ng --malloc 100 --memcpy 100 --mmap 100 --vm 100'
> >
> >the system hangs and doesn’t recover after 15 minutes.
> 
> I don't think we can use this, though; or at least, I don't see how.
> systemd allows limiting the memory accessible to a scope, but it
> doesn't allow carving out memory for one particular scope that is
> not to be accessible to other scopes. So I don't see a way to use
> these memory limits to ensure sufficient memory remains available to
> critical session processes. (Am I missing something?)

systemd is just a proxy for the kernel here.
The kernel allows memory.min to be set, which is defined as [1]
> Hard memory protection. If the memory usage of a cgroup is within
> its effective min boundary, the cgroup’s memory won’t be reclaimed
> under any conditions.

There is also memory.low which is weaker:
> Best-effort memory protection. If the memory usage of a cgroup is
> within its effective low boundary, the cgroup’s memory won’t be
> reclaimed unless there is no reclaimable memory available in
> unprotected cgroups.

I think that a combination of those two settings could be sufficient
to give us appropriate memory protection for a graphical session.
I envision the limits as being set using some simple formula based
on the total RAM available and the desktop environment used at machine
boot.

[1] https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html#memory-interface-files

Zbyszek
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux