rfjakob / earlyoom

earlyoom - Early OOM Daemon for Linux
MIT License
2.93k stars 155 forks source link

[Documentation for newcomers / new users of earlyoom] #211

Open rubyFeedback opened 4 years ago

rubyFeedback commented 4 years ago

Hey earlyoom devs,

Recently Fedora announced a (some?) plan to move/use/integrate earlyoom.

I am an average user really (mostly), using a bit of ruby and other languages, but I am not an expert when it comes to kernel-related stuff. I think many other users are no experts either.

I like to tinker with stuff though (one reason why I don't use systemd; tinkering without it is much easier, and I try to keep the complexity very low at all times so I understand what is going on). This indirectly brings me to earlyoom.

I read through the README here (for the most part) and a lot of it sounds familiar to me. I remember compiling LLVM and the old kernel I use right now (slackware; but I know how to update, will do so in the next days) also killed firefox and palemoon when all 4 CPUs were working hard.

This was unexpected to me. It also was annoying since I (a) had to restart the browser, but more importantly (b) found it annoying that the kernel can decide what to kill. For example, I'd be more happy to say something like "compile with only one CPU, slowly, without killing my system as I work on it right now". And I think that such a use case may fit to what earlyoom is trying.

Which brings me to this feature request. :)

Would it be possible for you guys to perhaps, on some weekend in the future, go through the main README and improve on it in particular for newcomers who are not totally dumb but not very clever or knowledeable in regards to the kernel-internals?

My hope here is that slightly better documentation may help me, and others, to use earlyoom effectively. This is actually more or less the first time I heard about it; I'll compile earlyoom soon and have a look, but every bit of high quality documentation would help me.

At any rate if this is too much work please just feel free to close this issue request at any moment in time - it is more important that a project can retain momentum, and motivated devs, I understand that very well.

hakavlad commented 4 years ago

Hi! Answers to what questions would you like to receive?

antofthy commented 3 years ago

Greetings... I found earlyoom running on my latest fedora (v33) and wondered what it was. So I looked at the man page...

It starts with the phrase... The oom-killer generally has a bad reputation among Linux users.

This was completely unhelpfull to anyone who has no idea what the program is, does, or what it is for! I mean at no point in the manpage does it even say What is a OOM! And while after having to read the whole manpage (which I should not have needed to do) I now have a fair idea what the program does, I still don't know what "OOM" actually means or stands for!

I eventually decided to take a guess that the URL given in BUGs points to the software source, though the URL is not properly given in the manpage. However the main README file was just a copy of the manpage, and still does not tell me anything new.

I believe this is what @rubyFeedback is getting at. Documentation is not new user friendly and assumes you already have an understanding of the program and problems it is trying to solve. Thus the issue.

jayenashar commented 3 years ago

Hi @antofthy OOM = Out Of Memory, and the oom-killer is a linux thing that kills processes when the system is out of memory. My issue with the oom-killer is that it runs too late, about an hour after my system becomes unresponsive, so earlyoom kills processes before the system is out of memory.

If you find this information useful, do you mind to make a pull request and update the man page and/or README?

arch-user-france1 commented 3 years ago

Hi @antofthy OOM = Out Of Memory, and the oom-killer is a linux thing that kills processes when the system is out of memory. My issue with the oom-killer is that it runs too late, about an hour after my system becomes unresponsive, so earlyoom kills processes before the system is out of memory.

If you find this information useful, do you mind to make a pull request and update the man page and/or README?

problem isn't it runs too late the problem is that it runs when already out of memory not when running out of memory so I recommend all kernel developers to make a room-killer and f* of that not-well-working oom-killer. Earlyoom can solve this kinda

hakavlad commented 3 years ago

I recommend all kernel developers to make a room-killer and f* of that not-well-working oom-killer

Use this patch if you want to fix the kernel.

arch-user-france1 commented 3 years ago

Well that's not a fix it is an improovment But many kernels like xanmod2 should have it Am I correct?

arch-user-france1 commented 3 years ago

Hey earlyoom devs,

Recently Fedora announced a (some?) plan to move/use/integrate earlyoom.

I am an average user really (mostly), using a bit of ruby and other languages, but I am not an expert when it comes to kernel-related stuff. I think many other users are no experts either.

I like to tinker with stuff though (one reason why I don't use systemd; tinkering without it is much easier, and I try to keep the complexity very low at all times so I understand what is going on). This indirectly brings me to earlyoom.

I read through the README here (for the most part) and a lot of it sounds familiar to me. I remember compiling LLVM and the old kernel I use right now (slackware; but I know how to update, will do so in the next days) also killed firefox and palemoon when all 4 CPUs were working hard.

This was unexpected to me. It also was annoying since I (a) had to restart the browser, but more importantly (b) found it annoying that the kernel can decide what to kill. For example, I'd be more happy to say something like "compile with only one CPU, slowly, without killing my system as I work on it right now". And I think that such a use case may fit to what earlyoom is trying.

Which brings me to this feature request. :)

Would it be possible for you guys to perhaps, on some weekend in the future, go through the main README and improve on it in particular for newcomers who are not totally dumb but not very clever or knowledeable in regards to the kernel-internals?

My hope here is that slightly better documentation may help me, and others, to use earlyoom effectively. This is actually more or less the first time I heard about it; I'll compile earlyoom soon and have a look, but every bit of high quality documentation would help me.

At any rate if this is too much work please just feel free to close this issue request at any moment in time - it is more important that a project can retain momentum, and motivated devs, I understand that very well.

I think it is a plan not some plan. Some would be plural - but I am not sure if some would be correct