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