Разработчики Fedora обсудили общую тему который по-прежнему остается камнем в башмаке Linux, и уже давно существует о проблемах что приходит, чтобы представить Linux недостаток памяти в системе, что приводит к зависанию системы или падению производительности.
Разработчики Fedora обсуждали способы избежать прерывания памяти с лета 2019, чтобы улучшить пользовательский опыт в среде рабочего стола. Столкнувшись с ситуацией, которая возникает в Fedora, разработчики высказались и одобрили включение Earlyoom en следующая версия Fedora, которая будет версией Федора 32.
Рабочая группа предложила несколько решений чтобы заморозить рабочий стол во время работы, что существенно повлияет на работу пользователя. Однако SIGKIL, который быстро восстанавливает всю систему и только завершает процессы, был предложен ранее, отправив SIGTERM, чтобы дать инструкции в конце процесса, его можно выбрать поэтапное завершение для пользователя.
О EarlyOOM
Ранняя комната это фоновый процесс который будет включен в Fedora 32 для раннего реагирования на нехватку памяти в системе.
Если объем доступной памяти меньше указанного значения, то в зависимости оставшийся объем памяти Будет отправлен Sigterm (свободная память менее 10%) или Sigkill (<5%) что силой процесс, который потребляет больше всего памяти, завершится.
Здесь будет взят процесс с наибольшим значением / proc / * / oom_score, не приводя состояние системы к очистке системных буферов.
С этим Earlyoom позволит системе быстрее реагировать для нехватки памяти без необходимости вызывать драйвер OOM (Out of Memory) в ядре, который срабатывает, когда ситуация становится критической, и система, как правило, больше не отвечает пользователю.
В других версиях Fedora можно включить драйвер с низким объемом памяти. монитор нехватки памяти который использует интерфейс / proc / pressure / memory который был представлен в ядре Linux 4.20 и улучшен в версии 5.2.
Чтобы оценить нехватку памяти в системе, В отличие от Earlyoom, он обрабатывает и отправляет уведомление через DBus. о необходимости уменьшить потребление памяти (если после этого ситуация не вернулась в норму, возможна активация ядра OOM Killer).
Монитор с малым объемом памяти требует модификации приложений, так что рассматривается как решение на далекое будущее, который можно использовать после переноса приложений GNOME.
Следить за ситуацией недостаточно памяти, приложения в Glib 2.63.3 добавили API GMemoryMonitor, который позволяет вам отслеживать сигналы от монитора нехватки памяти и принимать меры (например, приложение может освобождать память, используемую для кэширования, сохранять файлы, запускать сборку мусора, пытаться уменьшить фрагментацию памяти или завершать неактивную поддержку процессов).
Также добавлена поддержка GMemoryMonitor в xdg-desktop-portal для использования в автономных приложениях, поставляемых в формате Flatpak.
В конце концов Важно отметить, что реализация EarlyOOM по умолчанию в Fedora ограничено только настольной версией поэтому в других сборках Fedora его не будет.
В качестве дополнительных данных Упоминается, что EarlyOOM разработан для использования на настольных ПК. и кажется маловероятным, что будут внесены другие правки, если спрос не увеличится. В настоящее время пакет доступен для различных дистрибутивов Linux, а также разработчики OpenSUSE обсуждают его включение в систему.
Si ты хочешь узнать об этом больше о включении EarlyOOM вы можете проконсультироваться следующие ссылки где это развивается Дискуссия.
также вы можете ознакомиться с документацией и установкой в более старых версиях Fedora на по следующей ссылке.
Беспорядка vm.swappiness и vm.dirty_bytes было недостаточно, чтобы избежать зависания рабочего стола.
Очень хорошие новости!