Fedora 32 Π²ΡŠΠ·Π½Π°ΠΌΠ΅Ρ€ΡΠ²Π° Π΄Π° Π²ΠΊΠ»ΡŽΡ‡ΠΈ earlyoom Π·Π° Ρ€Π°Π½Π½Π° рСакция ΠΏΡ€ΠΈ липса Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚

ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½ΠΈ ΠΏΠ»Π°Π½ Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½ΠΈΡ Ρ„ΠΎΠ½ΠΎΠ² процСс ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ във 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

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€