ΠΠΎΡΠ»Π΅ ΡΠ΅ΠΌΠΈ ΠΌΠ΅ΡΡΡΠ΅Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
ΠΡΠ»ΠΈ ΠΎΠ±ΡΡΠΌ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠ΅Π½ΡΡΠ΅ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠΎ earlyoom ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ (ΡΠ΅ΡΠ΅Π· ΠΎΡΠΏΡΠ°Π²ΠΊΡ SIGTERM ΠΈΠ»ΠΈ SIGKILL) Π·Π°Π²Π΅ΡΡΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΠΎΡΡΠ΅Π±Π»ΡΡΡΠ΅Π³ΠΎ ΠΏΠ°ΠΌΡΡΡ (ΠΈΠΌΠ΅ΡΡΠ΅Π³ΠΎ ΡΠ°ΠΌΠΎΠ΅ Π±ΠΎΠ»ΡΡΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ /proc/*/oom_score), Π½Π΅ Π΄ΠΎΠ²ΠΎΠ΄Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Π΄ΠΎ ΠΎΡΠΈΡΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π±ΡΡΠ΅ΡΠΎΠ² ΠΈ ΠΌΠ΅ΡΠ°ΡΡΠ΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ΅ ΡΠ²ΠΎΠΏΠΏΠΈΠ½Π³Π° (ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ OOM (Out Of Memory) Π² ΡΠ΄ΡΠ΅ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΊΠΎΠ³Π΄Π° ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π΅Ρ Π²Π°ΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΡΠΆΠ΅ Π΄ΠΎΡΡΠΈΠ³Π»ΠΎ ΠΊΡΠΈΡΠΈΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΠΊ ΡΡΠΎΠΌΡ ΠΌΠΎΠΌΠ΅Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΆΠ΅ Π½Π΅ ΡΠ΅Π°Π³ΠΈΡΡΠ΅Ρ Π½Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ).
Earlyoom ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ ΠΎ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π·Π°Π²Π΅ΡΡΡΠ½Π½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°Ρ Π½Π° ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΡΠΎΠ» (Ρ ΠΏΠΎΠΌΠΎΡΡΡ notify-send), Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ», Π² ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ ΠΈΠΌΠ΅Π½Π° ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ (ΠΎΠΏΡΠΈΡ «—prefer») ΠΈΠ»ΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΊΠΎΡΠΎΡΡΡ ΡΡΠΎΠΈΡ ΠΈΠ·Π±Π΅Π³Π°ΡΡ (ΠΎΠΏΡΠΈΡ «—avoid»).
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π½ΠΎΠ²ΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅:
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΏΠΎΡΠ»Π΅ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π΅ΠΌΡ ΡΠΈΠ³Π½Π°Π»Π°. ΠΡΠΎ ΡΡΡΡΠ°Π½ΡΠ΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, Π·Π°ΠΊΠ»ΡΡΠ°ΡΡΡΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ earlyoom ΠΈΠ½ΠΎΠ³Π΄Π° ΡΠ±ΠΈΠ²Π°Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°, ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ;
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠΊΡΠΈΠΏΡ (notify_all_users.py) Π΄Π»Ρ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ Π·Π°Π»ΠΎΠ³ΠΈΠ½Π΅Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΡΠ΅ΡΠ΅Π· notify-send;
- ΠΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΈΠΌΡΠ½ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ UTF-8;
- ΠΡΠΈΠ½ΡΡ ΠΊΠΎΠ΄Π΅ΠΊΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ (Contributor Covenant Code of Conduct).
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru