ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ ΠΏΠ»Π°Π½ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² Fedora 32 ΡΠΎΠ½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° earlyoom Π΄Π»Ρ ΡΠ°Π½Π½Π΅Π³ΠΎ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Π½Π΅Ρ
Π²Π°ΡΠΊΡ ΠΏΠ°ΠΌΡΡΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅. ΠΡΠ»ΠΈ ΠΎΠ±ΡΡΠΌ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠ΅Π½ΡΡΠ΅ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠΎ earlyoom ΡΠ΅ΡΠ΅Π· ΠΎΡΠΏΡΠ°Π²ΠΊΡ SIGTERM (ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠ΅Π½ΡΡΠ΅ 10%) ΠΈΠ»ΠΈ SIGKILL (< 5%) ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ (Π·Π°Π²Π΅ΡΡΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΠΎΡΡΠ΅Π±Π»ΡΡΡΠ΅Π³ΠΎ ΠΏΠ°ΠΌΡΡΡ (ΠΈΠΌΠ΅ΡΡΠ΅Π³ΠΎ ΡΠ°ΠΌΠΎΠ΅ Π±ΠΎΠ»ΡΡΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ /proc/*/oom_score), Π½Π΅ Π΄ΠΎΠ²ΠΎΠ΄Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Π΄ΠΎ ΠΎΡΠΈΡΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ
Π±ΡΡΠ΅ΡΠΎΠ². Earlyoom ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Π½Π΅Ρ
Π²Π°ΡΠΊΡ ΠΏΠ°ΠΌΡΡΠΈ, Π½Π΅ Π΄ΠΎΡ
ΠΎΠ΄Ρ Π΄ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° OOM (Out Of Memory) Π² ΡΠ΄ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΊΠΎΠ³Π΄Π° ΡΠΈΡΡΠ°ΡΠΈΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΊΡΠΈΡΠΈΡΠ½ΠΎΠΉ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΠΆΠ΅ Π½Π΅ ΡΠ΅Π°Π³ΠΈΡΡΠ΅Ρ Π½Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
Π Π±ΠΎΠ»Π΅Π΅ ΠΎΡΠ΄Π°Π»ΡΠ½Π½ΡΡ
Π²ΡΠΏΡΡΠΊΠ°Ρ
Fedora ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π½Π΅Ρ
Π²Π°ΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ low-memory-monitor, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΠΎΡΠ²ΠΈΠ²ΡΠΈΠΉΡΡ Π² ΡΠ΄ΡΠ΅ Linux 5.2 ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ /proc/pressure/memory Π΄Π»Ρ ΠΎΡΠ΅Π½ΠΊΠΈ Π½Π΅Ρ
Π²Π°ΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅, Π½ΠΎ Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ earlyoom ΡΡΠ°Π·Ρ Π½Π΅ Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΡΡ, Π° ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΅ΡΠ΅Π· DBus ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ½ΠΈΠ·ΠΈΡΡ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ (Π΅ΡΠ»ΠΈ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΠΈΡΡΠ°ΡΠΈΡ Π½Π΅ Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π»Π°ΡΡ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Π°ΠΊΡΠΈΠ²Π°ΡΠΈΡ OOM Killer ΡΠ΄ΡΠ°). Low-memory-monitor ΡΡΠ΅Π±ΡΠ΅Ρ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠΉ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Ρ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΏΠΎΡΠ»Π΅ Π°Π΄Π°ΠΏΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ GNOME.
ΠΠ»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΡΠΈΡΡΠ°ΡΠΈΠΈ Π½Π΅Ρ
Π²Π°ΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ Π² Glib 2.63.3 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ API GMemoryMonitor, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΡΠΈΠ³Π½Π°Π»Ρ ΠΎΡ low-memory-monitor ΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΌΠ΅ΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π΄Π»Ρ ΠΊΠ΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ, Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ±ΠΎΡΠΊΡ ΠΌΡΡΠΎΡΠ°, ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΈΠ»ΠΈ Π·Π°Π²Π΅ΡΡΠΈΡΡ ΠΏΡΠΎΡΡΠ°ΠΈΠ²Π°ΡΡΠΈΠ΅ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ). ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°
GMemoryMonitor ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π² xdg-desktop-portal Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ
, ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ
Π² ΡΠΎΡΠΌΠ°ΡΠ΅ flatpak.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru