рдореЗрдорд░реА рд╣рдБрдбрд▓рд░рдЪреНрдпрд╛ рдмрд╛рд╣реЗрд░ рдЕрд░реНрд▓реАрд░реВрдо 1.4 рд╕реЛрдбрдгреЗ

рдЖрда рдорд╣рд┐рдиреНрдпрд╛рдВрдЪреНрдпрд╛ рд╡рд┐рдХрд╛рд╕рд╛рдирдВрддрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдкрд╛рд░реНрд╢реНрд╡рднреВрдореА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреНрд░рдХрд╛рд╢рди рдЕрд░реНрд▓реАрд░реВрдо 1.4, рдЬреЗ рд╡реЗрд│реЛрд╡реЗрд│реА рдЙрдкрд▓рдмреНрдз рдореЗрдорд░реАрдЪреЗ рдкреНрд░рдорд╛рдг рддрдкрд╛рд╕рддреЗ (MemAvailable, SwapFree) рдЖрдгрд┐ рдХрдореА рдореЗрдорд░реАрдЪреНрдпрд╛ рдШрдЯрдиреЗрд╕ рд▓рд╡рдХрд░ рдкреНрд░рддрд┐рд╕рд╛рдж рджреЗрдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рддреЗ. рдкреНрд░рдХрд▓реНрдк рдХреЛрдб рд╕реА рднрд╛рд╖реЗрдд рд▓рд┐рд╣рд┐рд▓рд╛ рдЖрд╣реЗ рдЖрдгрд┐ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рддрд░рд┐рдд рдПрдордЖрдпрдЯреА рдкрд░рд╡рд╛рдиреНрдпрд╛рдЦрд╛рд▓реА.

рдЬрд░ рдЙрдкрд▓рдмреНрдз рдореЗрдорд░реАрдЪреЗ рдкреНрд░рдорд╛рдг рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдореВрд▓реНрдпрд╛рдкреЗрдХреНрд╖рд╛ рдХрдореА рдЕрд╕реЗрд▓, рддрд░ рдЕрд▓рд┐рдЕрд▓реВрдо рдЬрдмрд░рджрд╕реНрддреАрдиреЗ (SIGTERM рдХрд┐рдВрд╡рд╛ SIGKILL рдкрд╛рдард╡реВрди) рдореЗрдорд░реА рд╕рд░реНрд╡рд╛рдд рд╕рдХреНрд░рд┐рдпрдкрдгреЗ рд╡рд╛рдкрд░рдгрд╛рд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрд▓ (рд╕рд░реНрд╡реЛрдЪреНрдЪ /proc/*/oom_score рдореВрд▓реНрдп рдЕрд╕рд▓реЗрд▓реА), рд╕рд┐рд╕реНрдЯрдо рд╕реНрдерд┐рддреА рди рдЖрдгрддрд╛. рд╕рд┐рд╕реНрдЯрдо рдмрдлрд░ рд╕рд╛рдл рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рд╡рд░реНрдХ рд╕реНрд╡реЕрдкрд┐рдВрдЧрдордзреНрдпреЗ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА (рдХрд░реНрдирд▓рдордзреАрд▓ рдУрдУрдПрдо (рдЖрдКрдЯ рдСрдл рдореЗрдорд░реА) рд╣рдБрдбрд▓рд░ рдЯреНрд░рд┐рдЧрд░ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ рдЬреЗрд╡реНрд╣рд╛ рдореЗрдорд░реАрдмрд╛рд╣реЗрд░рдЪреА рд╕реНрдерд┐рддреА рдЖрдзреАрдЪ рдЧрдВрднреАрд░ рдореВрд▓реНрдпрд╛рдВрдкрд░реНрдпрдВрдд рдкреЛрд╣реЛрдЪрддреЗ рдЖрдгрд┐ рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдпрд╛ рдХреНрд╖рдгрд╛рдкрд░реНрдпрдВрдд рд╕рд┐рд╕реНрдЯрдо рдпрд╛рдкреБрдвреЗ рдкреНрд░рддрд┐рд╕рд╛рдж рджреЗрдд рдирд╛рд╣реА рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреНрдпрд╛ рдХреНрд░рд┐рдпрд╛рдВрдХрдбреЗ).

Earlyoom рдбреЗрд╕реНрдХрдЯреЙрдкрд╡рд░ (рд╕реВрдЪрдирд╛-рдкрд╛рдард╡рд╛ рд╡рд╛рдкрд░реВрди) рдЬрдмрд░рджрд╕реНрддреАрдиреЗ рд╕рдВрдкреБрд╖реНрдЯрд╛рдд рдЖрд▓реЗрд▓реНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреНрдпрд╛ рд╕реВрдЪрдирд╛ рдкрд╛рдард╡рд┐рдгреНрдпрд╛рд╕ рд╕рдорд░реНрдерди рджреЗрддреЗ рдЖрдгрд┐ рдирд┐рдпрдо рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рджреЗрдЦреАрд▓ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рдЬреНрдпрд╛рдордзреНрдпреЗ, рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддреА рд╡рд╛рдкрд░реВрди, рдЖрдкрдг рд╕рдорд╛рдкреНрдд рд╣реЛрдгреНрдпрд╛рд╕ рдкреНрд░рд╛рдзрд╛рдиреНрдп рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдВрдЪреА рдирд╛рд╡реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реВ рд╢рдХрддрд╛ (рдкрд░реНрдпрд╛рдп "- -prefer") рдХрд┐рдВрд╡рд╛ рдерд╛рдВрдмрд╡рд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ (рдкрд░реНрдпрд╛рдп "-- рдЯрд╛рд│рд╛").

рдореБрдЦреНрдп рдмрджрд▓ рдХрд░рд╛ рдирд╡реАрди рдкреНрд░рдХрд╛рд╢рди рдордзреНрдпреЗ:

  • рдЦрд░реНрдЪрд╛рдЪреЗ рдпреЗрдереЗ рдЖрд│рд╢реА рд▓реЛрдбрд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛ рдкреВрд░реНрдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА 50% рд╡реЗрдЧрд╡рд╛рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд┐рд╡рдб рддрд░реНрдХрд╢рд╛рд╕реНрддреНрд░;
  • рдкреАрдЖрдпрдбреА рдЖрдгрд┐ рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреНрдпрд╛ рдирд╛рд╡рд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рд╕рдорд╛рдкреНрдд рдХреЗрд▓реНрдпрд╛ рдЬрд╛рдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪрд╛ UID рд▓реЙрдЧрдордзреНрдпреЗ рдкрд░рд╛рд╡рд░реНрддрд┐рдд рдЭрд╛рд▓рд╛ рдЖрд╣реЗ рдпрд╛рдЪреА рдЦрд╛рддреНрд░реА рдХреЗрд▓реА;
  • рд╣рд▓рдХреНрдпрд╛ рд░рд╛рдЦрд╛рдбреАрдордзреНрдпреЗ рдбреАрдмрдЧ рд▓реЙрдЧрдЪреЗ рд╣рд╛рдпрд▓рд╛рдЗрдЯрд┐рдВрдЧ рдЬреЛрдбрд▓реЗ;
  • рдХреЛрдб рд╕рд╛рдл рдХреЗрд▓рд╛;
  • рдЬреЗрдереЗ рд╢рдХреНрдп рдЕрд╕реЗрд▓ рддреЗрдереЗ, рд▓реЛрдХрд▓ рддреЗ рдмреНрд▓реЙрдХрдкрд░реНрдпрдВрдд рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕рдЪреА рдШреЛрд╖рдгрд╛ рд╡рд╛рдкрд░рд▓реА рдЧреЗрд▓реА;
  • рдХреЛрдбрдордзреНрдпреЗ рд╢рд┐рд╡рд▓реЗрд▓реНрдпрд╛ рдмрдлрд░ рдЖрдХрд╛рд░рд╛рдЪреЗ рдореВрд▓реНрдп рдмрджрд▓рдгреНрдпрд╛рд╕рд╛рдареА PATH_LEN рд╕реЗрдЯрд┐рдВрдЧ рдЬреЛрдбрд▓реЗ;
  • рдЙрдкрд▓рдмреНрдз рдЕрд╕рд▓реНрдпрд╛рд╕ cppcheck рд▓рд╛рдБрдЪ рдХреЗрд▓реЗ рдЖрд╣реЗ рдпрд╛рдЪреА рдЦрд╛рддреНрд░реА;
  • "рдмреЗрдВрдЪ рдмрдирд╡рд╛" рдХрд╛рдордЧрд┐рд░реА рдЪрд╛рдЪрдгреА рдЬреЛрдбрд▓реА;
  • рдЪрд╛рдЪрдгреНрдпрд╛рдВрдЪрд╛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╕рдВрдЪ (рдЪрд╛рдЪрдгреА рдХрд░рд╛);
  • systemd earlyoom.service рдпреБрдирд┐рдЯ рдлрд╛рдЗрд▓рдордзреНрдпреЗ рд░реВрдЯ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░рд╛рдВрдЪрд╛ рд░реАрд╕реЗрдЯ рд▓рд╛рдЧреВ рдХреЗрд▓рд╛. рд╣рд╛ рдмрджрд▓ рддреЛрдбрдгреНрдпрд╛рд╕рд╛рдареА GUI рд╕реВрдЪрдирд╛рдВрдЪреА рд╢рдХреНрдпрддрд╛. GUI рдЕрдзрд┐рд╕реВрдЪрдирд╛ рд╕рдХреНрд╖рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, "DynamicUser=true" рдЪреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рди рджреЗрддрд╛ рд░реВрдЯ рдЕрдзрд┐рдХрд╛рд░ рдкрд░рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдЖрд╣реЗ. рд░реВрдЯ рджреЗрдЦреАрд▓ рдЕрдХреНрд╖рдо рдХрд░рдд рдЖрд╣реЗ рдХреГрддреА /proc рдореЛрдбрдордзреНрдпреЗ hidepid=1 рдХрд┐рдВрд╡рд╛ hidepid=2 рдЖрд░реЛрд╣рд┐рдд рдХрд░рддрд╛рдирд╛ рдореЗрдорд░реА рд╡рд╛рдкрд░рд╛рд╡рд┐рд╖рдпреА рдорд╛рд╣рд┐рддреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреНрдпрд╛рд╕ рдЕрд╕рдорд░реНрдерддрд╛.

рд╕реНрддреНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛