The Fedora developers have discussed a common topic which is still a stone in the shoe of Linux and is that for a long time there has been talk about the problems that comes to present Linux having little memory in the system, leading to the system to hang or show a drop in performance.
Fedora developers have been discussing ways to avoid memory interrupts since summer 2019, in order to improve the user experience in the desktop environment. Faced with this situation that occurs in Fedora, developers spoke and approved the inclusion of Earlyoom en the next version of Fedora that would be the version Fedora 32.
The working group has proposed several solutions to freeze the desktop while you work, which has a significant effect on the user experience. However, SIGKIL, which recovers the entire system quickly and only ends the processes, has been proposed before, by sending a SIGTERM to give instructions at the end of the process, it can be selectable shutdown in stages for the user.
early room it's a background process which will be included in Fedora 32 to respond early to out of memory on the system.
If the amount of available memory is less than the specified value, then depending memory size remaining Sigterm (free memory less than 10%) or Sigkill (<5%) will be sent that by force the process that consumes the most memory will end.
Here the process with the highest value will be taken / proc / * / oom_score, without leading the system state to clear the system buffers.
With that Earlyoom will allow the system to respond more quickly to out of memory without having to call the OOM (Out of Memory) driver in the kernel, which kicks in when the situation becomes critical and the system, as a rule, no longer responds to the user.
In other versions of Fedora, it is possible to enable the low memory driver low memory monitor which uses the / proc / pressure / memory interface which was introduced in Linux kernel 4.20 and improved in 5.2.
To evaluate the lack of memory in the system, Unlike earlyoom, it processes and sends a notification through DBus on the need to reduce memory consumption (if after this the situation has not returned to normal, activation of the OOM Killer kernel is possible).
The monitor with low memory requires modification of applications, so that is considered as a solution for the distant future, which can be used after porting GNOME applications.
To monitor the situation out of memory, applications in Glib 2.63.3 added the GMemoryMonitor API, which allows you to monitor signals from a low memory monitor and take action (for example, the application can free memory used for caching, save files, start garbage collection, try to reduce memory fragmentation, or complete processes inactive support).
GMemoryMonitor support has also been added to xdg-desktop-portal for use in standalone applications delivered in flatpak format.
Finally It is important to mention that the default EarlyOOM implementation in Fedora limited to desktop version only so the other builds of Fedora will not have it.
As additional information, It is mentioned that EarlyOOM is developed for use on the desktop and it seems unlikely that other edits will be made unless demand increases. Currently the package is available for different Linux distributions and also OpenSUSE developers are discussing its inclusion in the system.
Also you can consult the documentation and installation in older versions of Fedora on the following link