āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻŦāĻžāĻ‡āĻ°ā§‡ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ° āĻ°āĻŋāĻ˛āĻŋāĻœ earlyoom 1.4

āĻ†āĻŸ āĻŽāĻžāĻ¸ āĻ‰āĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ā§‡āĻ° āĻĒāĻ° āĻĒā§āĻ°āĻ•āĻžāĻļāĻŋāĻ¤ āĻĒāĻŸāĻ­ā§‚āĻŽāĻŋ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ°āĻŋāĻ˛āĻŋāĻœ 1.4, āĻ¯āĻž āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧāĻ•ā§āĻ°āĻŽā§‡ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ (MemAvailable, SwapFree) āĻšā§‡āĻ• āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ•āĻŽ āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻ˜āĻŸāĻ¨āĻžāĻ¤ā§‡ āĻ¤āĻžāĻĄāĻŧāĻžāĻ¤āĻžāĻĄāĻŧāĻŋ āĻ¸āĻžāĻĄāĻŧāĻž āĻĻā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡āĨ¤ āĻĒā§āĻ°āĻœā§‡āĻ•ā§āĻŸ āĻ•ā§‹āĻĄ āĻ¸āĻŋ āĻ­āĻžāĻˇāĻžāĻ¯āĻŧ āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻāĻŽāĻ†āĻ‡āĻŸāĻŋ āĻ˛āĻžāĻ‡āĻ¸ā§‡āĻ¨ā§āĻ¸ā§‡āĻ° āĻ…āĻ§ā§€āĻ¨ā§‡āĨ¤

āĻ¯āĻĻāĻŋ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻŽāĻžāĻ¨ā§‡āĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻ•āĻŽ āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ…āĻ˛āĻŋāĻ“āĻŽ āĻœā§‹āĻ°āĻĒā§‚āĻ°ā§āĻŦāĻ• (SIGTERM āĻŦāĻž SIGKILL āĻĒāĻžāĻ āĻŋāĻ¯āĻŧā§‡) āĻ¸ā§‡āĻ‡ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°ā§‡ āĻĻā§‡āĻŦā§‡ āĻ¯ā§‡āĻŸāĻŋ āĻŽā§‡āĻŽāĻ°āĻŋ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ (āĻ¸āĻ°ā§āĻŦā§‹āĻšā§āĻš /proc/*/oom_score āĻŽāĻžāĻ¨ āĻ†āĻ›ā§‡), āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻ¨āĻž āĻāĻ¨ā§‡āĨ¤ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻŦāĻžāĻĢāĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻ¸āĻžāĻĢ āĻ•āĻ°āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻ•āĻžāĻœā§‡āĻ° āĻ…āĻĻāĻ˛āĻŦāĻĻāĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¸ā§āĻ¤āĻ•ā§āĻˇā§‡āĻĒ āĻ•āĻ°āĻ¤ā§‡ (āĻ•āĻžāĻ°āĻ¨ā§‡āĻ˛ā§‡āĻ° OOM (āĻ†āĻ‰āĻŸ āĻ…āĻĢ āĻŽā§‡āĻŽāĻ°āĻŋ) āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ°āĻŸāĻŋ āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ° āĻšāĻ¯āĻŧ āĻ¯āĻ–āĻ¨ āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻŦāĻžāĻ‡āĻ°ā§‡āĻ° āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻĒā§ŒāĻāĻ›ā§‡ āĻ¯āĻžāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻ‡ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋ āĻ†āĻ° āĻ¸āĻžāĻĄāĻŧāĻž āĻĻā§‡āĻ¯āĻŧ āĻ¨āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻ•āĻ°ā§āĻŽā§‡āĻ° āĻœāĻ¨ā§āĻ¯)āĨ¤

Earlyoom āĻĄā§‡āĻ¸ā§āĻ•āĻŸāĻĒā§‡ āĻœā§‹āĻ°āĻĒā§‚āĻ°ā§āĻŦāĻ• āĻ¸āĻŽāĻžāĻĒā§āĻ¤ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡ (āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋ-āĻĒā§āĻ°ā§‡āĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡), āĻāĻŦāĻ‚ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻ—ā§āĻ˛āĻŋ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻžāĻ“ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻ¯āĻžāĻ¤ā§‡, āĻ°ā§‡āĻ—ā§āĻ˛āĻžāĻ° āĻāĻ•ā§āĻ¸āĻĒā§āĻ°ā§‡āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻ—ā§āĻ˛āĻŋāĻ° āĻ¨āĻžāĻŽ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ¯ā§‡āĻ—ā§āĻ˛āĻŋ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻž āĻĒāĻ›āĻ¨ā§āĻĻ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ (āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ "- -prefer") āĻŦāĻž āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ (āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ "--āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž")āĨ¤

āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ—ā§āĻ˛āĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ°āĻŋāĻ˛āĻŋāĻœā§‡:

  • āĻŦā§āĻ¯āĻ¯āĻŧ āĻ…āĻ˛āĻ¸ āĻ˛ā§‹āĻĄāĻŋāĻ‚ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ—ā§āĻŖāĻžāĻŦāĻ˛ā§€ 50% āĻĻā§āĻ°ā§āĻ¤ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ˛āĻœāĻŋāĻ• āĻ¸āĻŽāĻžāĻĒā§āĻ¤āĻŋāĻ° āĻœāĻ¨ā§āĻ¯;
  • āĻĒāĻŋāĻ†āĻ‡āĻĄāĻŋ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻ¨āĻžāĻŽ āĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻ¯ā§‡ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ āĻ¤āĻžāĻ° āĻ‡āĻ‰āĻ†āĻ‡āĻĄāĻŋ āĻ˛āĻ—ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻĢāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¤āĻž āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡;
  • āĻšāĻžāĻ˛āĻ•āĻž āĻ§ā§‚āĻ¸āĻ° āĻ°āĻ™ā§‡ āĻĄāĻŋāĻŦāĻžāĻ— āĻ˛āĻ—ā§‡āĻ° āĻšāĻžāĻ‡āĻ˛āĻžāĻ‡āĻŸāĻŋāĻ‚ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡;
  • āĻ•ā§‹āĻĄ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡;
  • āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ¸āĻŽā§āĻ­āĻŦ, āĻŦā§āĻ˛āĻ• āĻĨā§‡āĻ•ā§‡ āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻ˜ā§‹āĻˇāĻŖāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛;
  • āĻ•ā§‹āĻĄā§‡ āĻ¸ā§‡āĻ˛āĻžāĻ‡ āĻ•āĻ°āĻž āĻŦāĻžāĻĢāĻžāĻ° āĻ†āĻ•āĻžāĻ°ā§‡āĻ° āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻ¤ā§‡ PATH_LEN āĻ¸ā§‡āĻŸāĻŋāĻ‚ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡;
  • āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯ā§‡ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻšāĻ˛ā§‡ cppcheck āĻšāĻžāĻ˛ā§ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡;
  • āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ "āĻŽā§‡āĻ• āĻŦā§‡āĻžā§āĻš" āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž;
  • āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻŦāĻ°ā§āĻ§āĻŋāĻ¤ āĻ¸ā§‡āĻŸ (āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻž);
  • systemd earlyoom.service āĻ‡āĻ‰āĻ¨āĻŋāĻŸ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ°ā§āĻŸ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻ° āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻāĻ‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻŦāĻŋāĻ°āĻ¤āĻŋ GUI āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋāĻ° āĻ¸āĻŽā§āĻ­āĻžāĻŦāĻ¨āĻžāĨ¤ GUI āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻ¤ā§‡, "DynamicUser=true" āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻ¨āĻž āĻ•āĻ°ā§‡ āĻ°ā§āĻŸ āĻ…āĻ§āĻŋāĻ•āĻžāĻ° āĻĢā§‡āĻ°āĻ¤ āĻĻā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ°ā§āĻŸāĻ“ āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ ĐŋŅ€Đ¸Đ˛ĐžĐ´Đ¸Ņ‚ /proc āĻŽā§‹āĻĄā§‡ hidepid=1 āĻŦāĻž hidepid=2 āĻŽāĻžāĻ‰āĻ¨ā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŽā§‡āĻŽāĻ°āĻŋ āĻ–āĻ°āĻš āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¤āĻĨā§āĻ¯ āĻĒā§‡āĻ¤ā§‡ āĻ…āĻ•ā§āĻˇāĻŽāĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯āĨ¤

āĻ‰āĻ¤ā§āĻ¸: opennet.ru

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨