рдЖрда рдорд╣рд┐рдиреНрдпрд╛рдВрдЪреНрдпрд╛ рд╡рд┐рдХрд╛рд╕рд╛рдирдВрддрд░
рдЬрд░ рдЙрдкрд▓рдмреНрдз рдореЗрдорд░реАрдЪреЗ рдкреНрд░рдорд╛рдг рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдореВрд▓реНрдпрд╛рдкреЗрдХреНрд╖рд╛ рдХрдореА рдЕрд╕реЗрд▓, рддрд░ рдЕрд▓рд┐рдЕрд▓реВрдо рдЬрдмрд░рджрд╕реНрддреАрдиреЗ (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