• FizzyOrange@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    23 hours ago

    Ah maybe. I’m still on RHEL8. Even so, “it hangs a bit and kills a random process” is still shit! What it should do is suspend processes, and show you a GUI saying “you’re running low on memory, here are your running programs and how much they are using” and allow you to choose which processes to kill, or whatever.

    That would be far too user friendly for Linux though. I don’t think the kernel/Wayland Devs could really comprehend that tbh. They’ll say something along the lines of “users shouldn’t be doing that”.

    • bleistift2@sopuli.xyz
      link
      fedilink
      English
      arrow-up
      1
      ·
      20 hours ago

      show you a GUI saying “you’re running low on memory, here are your running programs and how much they are using”

      Good luck with this approach on a server.

      If by ‘suspend’ you mean that the process will just halt, then: Which processes? All of them? Good luck displaying a message then. The last one that made a memory request? That might not be the true offender. The highest-consuming process? Same logic applies.

      If by ‘suspend’ you mean moving the memory to disk, then a single misbehaving process, may end up eating all of memory and all remaining disk space.

      • FizzyOrange@programming.dev
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        11 hours ago

        Good luck with this approach on a server.

        Indeed, obviously I’m talking about desktops here.

        If by ‘suspend’ you mean that the process will just halt, then: Which processes? All of them? Good luck displaying a message then.

        You could use some kind of heuristic to suspend ones using the most memory/CPU. Or just suspend them all. Obviously you would exclude the processes needed to display the message.

        If by ‘suspend’ you mean moving the memory to disk

        No I meant just pausing their execution. I’m pretty sure ctrl-alt-del does something like this on Windows.