Carlos E. R. wrote:
Yes, but for that you have to know which process to limit. I don't have a clear culprit. I had been sleeping, the machine was idling.
In that case you *might* try the top-level limit, I think that should not allow *any* process to use all physical space. You'd still be f****d if two of those would start competeing heavily, but it should be better...
As I recall, I sat on my computer, had a glance at Thunderbird, there was an unsent usenet post, so clicked to send. Machine was responding normally, maybe a bit slow; I noticed on the "Multiload" applet that it was loaded on i/o, so I pressed the key combination to go one workspace to the left, where one terminal was running top, to have a look. Bamm! A terminal was white, failed to refresh. The log terminal displayed content of several hours earlier. The one with top did not respond to keys, as I wanted to kill firefox, which had 10.5 GB of virtual memory. Things finally froze completely.
Yes, exactly the same. Try a switch, content and applications on that other screen are swaped out already, and the culprit process is hitting the swap that hard that there's no chance the needed swap is read back :(
I've even considered doing this on the main level, i.e., echo 15032385536 > /sys/fs/cgroup/memory/memory.limit_in_bytes
Then no process at all can use up all memory. I have not checked though if that works as intended. You might give it a try (of course with some smaller limit, something like 6.5-7GB for the 8GB machine)
So in your case (6GB limit) # echo 6442450944 > /sys/fs/cgroup/memory/memory.limit_in_bytes As I said, it would not limit the amount of (total) memory the process uses - it just starts swapping when that limit is reached, before all physical mem is used up. -- To unsubscribe, e-mail: opensuse-support+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-support+owner@opensuse.org