āφāωāϟ-āĻ…āĻĢ-āĻŽā§‡āĻŽāϰāĻŋ āĻ•āĻŋāϞāĻžāϰ āϏ⧇āϟ āφāĻĒ āĻ•āϰāĻž āĻšāĻšā§āϛ⧇ Linux PostgreSQL āĻāϰ āϜāĻ¨ā§āϝ

āφāωāϟ-āĻ…āĻĢ-āĻŽā§‡āĻŽāϰāĻŋ āĻ•āĻŋāϞāĻžāϰ āϏ⧇āϟ āφāĻĒ āĻ•āϰāĻž āĻšāĻšā§āϛ⧇ Linux PostgreSQL āĻāϰ āϜāĻ¨ā§āϝ

āϝāĻ–āύ Linux āĻĄāĻžāϟāĻžāĻŦ⧇āϏ āϏāĻžāĻ°ā§āĻ­āĻžāϰāϟāĻŋ āĻ…āĻĒā§āϰāĻ¤ā§āϝāĻžāĻļāĻŋāϤāĻ­āĻžāĻŦ⧇ āĻŦāĻ¨ā§āϧ āĻšāϝāĻŧ⧇ āϝāĻžāϝāĻŧ āĻāĻŦāĻ‚ āĻāϰ āĻ•āĻžāϰāĻŖ āύāĻŋāĻ°ā§āĻŖāϝāĻŧ āĻ•āϰāĻž āĻĒā§āϰāϝāĻŧā§‹āϜāύāĨ¤ āĻāϰ āĻāĻ•āĻžāϧāĻŋāĻ• āĻ•āĻžāϰāĻŖ āĻĨāĻžāĻ•āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, SIGSEGV - āĻŦā§āϝāĻžāĻ•āĻāĻ¨ā§āĻĄ āϏāĻžāĻ°ā§āĻ­āĻžāϰ⧇ āĻāĻ•āϟāĻŋ āĻ¤ā§āϰ⧁āϟāĻŋāϰ āĻ•āĻžāϰāϪ⧇ āĻŦā§āϝāĻ°ā§āĻĨāϤāĻžāĨ¤ āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻāϟāĻž āĻŦāĻŋāϰāϞāĨ¤ āĻĒā§āϰāĻžāϝāĻŧāĻļāχ, āφāĻĒāύāĻžāϰ āϕ⧇āĻŦāϞ āĻĄāĻŋāĻ¸ā§āϕ⧇āϰ āĻ¸ā§āĻĨāĻžāύ āĻŦāĻž āĻŽā§‡āĻŽāϰāĻŋ āĻĢ⧁āϰāĻŋāϝāĻŧ⧇ āϝāĻžāϝāĻŧāĨ¤ āϝāĻĻāĻŋ āφāĻĒāύāĻžāϰ āĻĄāĻŋāĻ¸ā§āϕ⧇āϰ āĻ¸ā§āĻĨāĻžāύ āĻĢ⧁āϰāĻŋāϝāĻŧ⧇ āϝāĻžāϝāĻŧ, āϤāĻŦ⧇ āĻāĻ•āĻŽāĻžāĻ¤ā§āϰ āωāĻĒāĻžāϝāĻŧ āφāϛ⧇ - āĻ¸ā§āĻĨāĻžāύ āĻ–āĻžāϞāĻŋ āĻ•āϰ⧁āύ āĻāĻŦāĻ‚ āĻĄāĻžāϟāĻžāĻŦ⧇āϏ āĻĒ⧁āύāϰāĻžāϝāĻŧ āϚāĻžāϞ⧁ āĻ•āϰ⧁āύāĨ¤

āφāωāϟ-āĻ…āĻĢ-āĻŽā§‡āĻŽāϰāĻŋ āĻ•āĻŋāϞāĻžāϰ

āϝāĻ–āύ āϤ⧁āĻŽāĻŋ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻ…āĻĨāĻŦāĻž āĻĒā§āϰāϏ⧇āϏāϟāĻŋāϰ āĻŽā§‡āĻŽā§‹āϰāĻŋ āĻļ⧇āώ āĻšāϝāĻŧ⧇ āϝāĻžāϝāĻŧ, Linux āφāωāϟ-āĻ…āĻĢ-āĻŽā§‡āĻŽāϰāĻŋ āĻ•āĻŋāϞāĻžāϰ āĻĻ⧁āϟāĻŋ āϏāĻŽāĻžāϧāĻžāύ āĻĻ⧇āϝāĻŧ: āĻĒ⧁āϰ⧋ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•ā§āĻ°ā§āϝāĻžāĻļ āĻ•āϰāĻžāύ⧋ āĻ…āĻĨāĻŦāĻž āϝ⧇ āĻĒā§āϰāϏ⧇āϏāϟāĻŋ (āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ) āĻŽā§‡āĻŽāϰāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϛ⧇, āϏ⧇āϟāĻŋāϕ⧇ āϟāĻžāĻ°ā§āĻŽāĻŋāύ⧇āϟ āĻ•āϰāĻžāĨ¤ āĻ…āĻŦāĻļā§āϝāχ, āĻĒā§āϰāϏ⧇āϏāϟāĻŋ āϟāĻžāĻ°ā§āĻŽāĻŋāύ⧇āϟ āĻ•āϰ⧇ āĻ…āĻĒāĻžāϰ⧇āϟāĻŋāĻ‚ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽāϕ⧇ āĻ•ā§āĻ°ā§āϝāĻžāĻļ āĻšāĻ“āϝāĻŧāĻž āĻĨ⧇āϕ⧇ āĻŦāĻžāρāϚāĻžāύ⧋āχ āĻļā§āϰ⧇āϝāĻŧāĨ¤ āϏāĻ‚āĻ•ā§āώ⧇āĻĒ⧇, āφāωāϟ-āĻ…āĻĢ-āĻŽā§‡āĻŽāϰāĻŋ āĻ•āĻŋāϞāĻžāϰ āĻšāϞ⧋ āĻāĻŽāύ āĻāĻ•āϟāĻŋ āĻĒā§āϰāϏ⧇āϏ āϝāĻž āĻ•āĻžāĻ°ā§āύ⧇āϞāϕ⧇ āĻ•ā§āĻ°ā§āϝāĻžāĻļ āĻšāĻ“āϝāĻŧāĻž āĻĨ⧇āϕ⧇ āĻŦāĻžāρāϚāĻžāϤ⧇ āĻāĻ•āϟāĻŋ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϕ⧇ āϟāĻžāĻ°ā§āĻŽāĻŋāύ⧇āϟ āĻ•āϰ⧇āĨ¤ āĻāϟāĻŋ āĻ…āĻĒāĻžāϰ⧇āϟāĻŋāĻ‚ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽāϕ⧇ āϚāĻžāϞ⧁ āϰāĻžāĻ–āĻžāϰ āϜāĻ¨ā§āϝ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϟāĻŋāϕ⧇ āĻ‰ā§ŽāϏāĻ°ā§āĻ— āĻ•āϰ⧇āĨ¤ āϚāϞ⧁āύ āĻĒā§āϰāĻĨāĻŽā§‡ āφāϞ⧋āϚāύāĻž āĻ•āϰāĻž āϝāĻžāĻ• OOM āϕ⧀āĻ­āĻžāĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āϕ⧀āĻ­āĻžāĻŦ⧇ āĻāϟāĻŋāϕ⧇ āύāĻŋāϝāĻŧāĻ¨ā§āĻ¤ā§āϰāĻŖ āĻ•āϰāĻž āϝāĻžāϝāĻŧ, āĻāĻŦāĻ‚ āϤāĻžāϰāĻĒāϰ āĻĻ⧇āĻ–āĻž āϝāĻžāĻ• OOM āĻ•āĻŋāϞāĻžāϰ āϕ⧀āĻ­āĻžāĻŦ⧇ āϏāĻŋāĻĻā§āϧāĻžāĻ¨ā§āϤ āύ⧇āϝāĻŧ āϕ⧋āύ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϗ⧁āϞ⧋āϕ⧇ āϟāĻžāĻ°ā§āĻŽāĻŋāύ⧇āϟ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇āĨ¤

āĻĒā§āϰāϧāĻžāύ āĻ•āĻžāϜāϗ⧁āϞ⧋āϰ āĻŽāĻ§ā§āϝ⧇ āĻāĻ•āϟāĻŋ Linux āĻĒā§āϰāϏ⧇āϏāϗ⧁āϞ⧋ āϝāĻ–āύ āĻŽā§‡āĻŽāϰāĻŋāϰ āϜāĻ¨ā§āϝ āĻ…āύ⧁āϰ⧋āϧ āĻ•āϰ⧇, āϤāĻ–āύ āϤāĻžāĻĻ⧇āϰ āĻŽā§‡āĻŽāϰāĻŋ āĻŦāϰāĻžāĻĻā§āĻĻ āĻ•āϰ⧁āύāĨ¤ āϏāĻžāϧāĻžāϰāĻŖāϤ, āĻāĻ•āϟāĻŋ āĻĒā§āϰāϏ⧇āϏ āĻŦāĻž āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ OS-āĻāϰ āĻ•āĻžāϛ⧇ āĻŽā§‡āĻŽāϰāĻŋāϰ āϜāĻ¨ā§āϝ āĻ…āύ⧁āϰ⧋āϧ āĻ•āϰ⧇ āĻ•āĻŋāĻ¨ā§āϤ⧁ āϤāĻž āĻĒ⧁āϰ⧋āĻĒ⧁āϰāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āύāĻžāĨ¤ āϝāĻĻāĻŋ OS āĻāĻŽāύ āĻĒā§āϰāĻ¤ā§āϝ⧇āĻ•āϕ⧇ āĻŽā§‡āĻŽāϰāĻŋ āĻŦāϰāĻžāĻĻā§āĻĻ āĻ•āϰ⧇ āϝāĻžāϰāĻž āĻ…āύ⧁āϰ⧋āϧ āĻ•āϰ⧇ āĻ•āĻŋāĻ¨ā§āϤ⧁ āϤāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻžāϰ āϕ⧋āύ⧋ āĻĒāϰāĻŋāĻ•āĻ˛ā§āĻĒāύāĻž āύ⧇āχ, āϤāĻžāĻšāϞ⧇ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āϰ āĻŽā§‡āĻŽāϰāĻŋ āĻĻā§āϰ⧁āϤ āĻļ⧇āώ āĻšāϝāĻŧ⧇ āϝāĻžāĻŦ⧇ āĻāĻŦāĻ‚ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽāϟāĻŋ āĻ•ā§āĻ°ā§āϝāĻžāĻļ āĻ•āϰāĻŦ⧇āĨ¤ āĻāϟāĻŋ āĻĒā§āϰāϤāĻŋāϰ⧋āϧ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ, OS āĻāĻ•āϟāĻŋ āĻĒā§āϰāϏ⧇āϏ⧇āϰ āϜāĻ¨ā§āϝ āĻŽā§‡āĻŽāϰāĻŋ āϰāĻŋāϜāĻžāĻ°ā§āĻ­ āĻ•āϰ⧇ āϰāĻžāϖ⧇ āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻŦāĻžāĻ¸ā§āϤāĻŦ⧇ āϤāĻž āĻŦāϰāĻžāĻĻā§āĻĻ āĻ•āϰ⧇ āύāĻžāĨ¤ āĻŽā§‡āĻŽāϰāĻŋ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āϤāĻ–āύāχ āĻŦāϰāĻžāĻĻā§āĻĻ āĻ•āϰāĻž āĻšāϝāĻŧ āϝāĻ–āύ āϕ⧋āύ⧋ āĻĒā§āϰāϏ⧇āϏ āϏāĻ¤ā§āϝāĻŋāχ āϤāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āϚāĻžāϝāĻŧāĨ¤ āĻ•āĻ–āύāĻ“ āĻ•āĻ–āύāĻ“ OS-āĻāϰ āĻ•āĻžāϛ⧇ āĻ–āĻžāϞāĻŋ āĻŽā§‡āĻŽāϰāĻŋ āĻĨāĻžāϕ⧇ āύāĻž, āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻāϟāĻŋ āĻāĻ•āϟāĻŋ āĻĒā§āϰāϏ⧇āϏāϕ⧇ āĻŽā§‡āĻŽāϰāĻŋ āĻŦāϰāĻžāĻĻā§āĻĻ āĻ•āϰ⧇, āĻāĻŦāĻ‚ āϝāĻ–āύ āĻĒā§āϰāϏ⧇āϏāϟāĻŋāϰ āĻĒā§āϰāϝāĻŧā§‹āϜāύ āĻšāϝāĻŧ, āϤāĻ–āύ OS āϝāĻĻāĻŋ āĻĒāĻžāϰ⧇ āϤāĻŦ⧇ āϤāĻž āĻŦāϰāĻžāĻĻā§āĻĻ āĻ•āϰ⧇āĨ¤ āĻāϰ āĻ…āϏ⧁āĻŦāĻŋāϧāĻž āĻšāϞ⧋, āĻ•āĻ–āύāĻ“ āĻ•āĻ–āύāĻ“ OS āĻŽā§‡āĻŽāϰāĻŋ āϰāĻŋāϜāĻžāĻ°ā§āĻ­ āĻ•āϰ⧇ āϰāĻžāϖ⧇, āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻĒā§āϰāϝāĻŧā§‹āϜāύ⧇āϰ āϏāĻŽāϝāĻŧ āϕ⧋āύ⧋ āĻ–āĻžāϞāĻŋ āĻŽā§‡āĻŽāϰāĻŋ āĻĨāĻžāϕ⧇ āύāĻž, āϝāĻžāϰ āĻĢāϞ⧇ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•ā§āĻ°ā§āϝāĻžāĻļ āĻ•āϰ⧇āĨ¤ āĻāχ āĻĒāϰāĻŋāĻ¸ā§āĻĨāĻŋāϤāĻŋāϤ⧇ OOM āĻāĻ•āϟāĻŋ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻ­ā§‚āĻŽāĻŋāĻ•āĻž āĻĒāĻžāϞāύ āĻ•āϰ⧇, āĻ•āĻžāĻ°ā§āύ⧇āϞāϕ⧇ āĻĒā§āϝāĻžāύāĻŋāĻ• āĻ•āϰāĻž āĻĨ⧇āϕ⧇ āĻŦāĻŋāϰāϤ āϰāĻžāĻ–āϤ⧇ āĻĒā§āϰāϏ⧇āϏāϗ⧁āϞ⧋āϕ⧇ āϟāĻžāĻ°ā§āĻŽāĻŋāύ⧇āϟ āĻ•āϰ⧇ āĻĻ⧇āϝāĻŧāĨ¤ āϝāĻ–āύ PostgreSQL āĻĒā§āϰāϏ⧇āϏāϟāĻŋ āĻœā§‹āϰāĻĒā§‚āĻ°ā§āĻŦāĻ• āϟāĻžāĻ°ā§āĻŽāĻŋāύ⧇āϟ āĻ•āϰāĻž āĻšāϝāĻŧ, āϤāĻ–āύ āϞāϗ⧇ āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤ āĻŦāĻžāĻ°ā§āϤāĻžāϟāĻŋ āĻĒā§āϰāĻĻāĻ°ā§āĻļāĻŋāϤ āĻšāϝāĻŧ:

Out of Memory: Killed process 12345 (postgres).

āϝāĻĻāĻŋ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āϰ āĻŽā§‡āĻŽāϰāĻŋ āĻ•āĻŽ āĻĨāĻžāϕ⧇ āĻāĻŦāĻ‚ āĻāϟāĻŋ āĻŽā§āĻ•ā§āϤ āĻ•āϰāĻž āϝāĻžāϝāĻŧ āύāĻž, āĻĢāĻžāĻ‚āĻļāύ āĻŦāϞāĻž āĻšāϝāĻŧ out_of_memory. āĻāχ āĻĒāĻ°ā§āϝāĻžāϝāĻŧ⧇, āϤāĻžāϰ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻāĻ•āϟāĻŋ āϜāĻŋāύāĻŋāϏ āĻŦāĻžāĻ•āĻŋ āφāϛ⧇ - āĻāĻ• āĻŦāĻž āĻāĻ•āĻžāϧāĻŋāĻ• āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻž āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ•āϰ⧁āύāĨ¤ āĻ“āĻ“āĻāĻŽ-āĻ•āĻŋāϞāĻžāϰ⧇āϰ āĻ•āĻŋ āĻ…āĻŦāĻŋāϞāĻŽā§āĻŦ⧇ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϟāĻŋ āĻŦāĻ¨ā§āϧ āĻ•āϰāĻž āωāϚāĻŋāϤ āύāĻžāĻ•āĻŋ āĻāϟāĻŋ āĻ…āĻĒ⧇āĻ•ā§āώāĻž āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇? āĻ¸ā§āĻĒāĻˇā§āϟāϤāχ, āϝāĻ–āύ out_of_memory āĻ•āϞ āĻ•āϰāĻž āĻšāϝāĻŧ, āĻāϟāĻŋ āĻāĻ•āϟāĻŋ I/O āĻ…āĻĒāĻžāϰ⧇āĻļāύ āĻŦāĻž āĻĄāĻŋāĻ¸ā§āϕ⧇ āĻĒ⧇āϜāĻŋāĻ‚āϝāĻŧ⧇āϰ āϜāĻ¨ā§āϝ āĻ…āĻĒ⧇āĻ•ā§āώāĻž āĻ•āϰāĻžāϰ āĻ•āĻžāϰāϪ⧇ āĻšāϝāĻŧāĨ¤ āĻ…āϤāĻāĻŦ, OOM āĻšāĻ¤ā§āϝāĻžāĻ•āĻžāϰ⧀āϕ⧇ āĻĒā§āϰāĻĨāĻŽā§‡ āĻĒāϰ⧀āĻ•ā§āώāĻž āĻ•āϰāϤ⧇ āĻšāĻŦ⧇ āĻāĻŦāĻ‚ āϤāĻžāĻĻ⧇āϰ āωāĻĒāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ āĻ•āϰ⧇ āϏāĻŋāĻĻā§āϧāĻžāĻ¨ā§āϤ āύāĻŋāϤ⧇ āĻšāĻŦ⧇ āϝ⧇ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϟāĻŋ āĻŦāĻ¨ā§āϧ āĻ•āϰāĻž āĻĻāϰāĻ•āĻžāϰāĨ¤ āύ⧀āĻšā§‡āϰ āϏāĻŽāĻ¸ā§āϤ āĻšā§‡āĻ• āχāϤāĻŋāĻŦāĻžāϚāĻ• āĻšāϞ⧇, OOM āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϟāĻŋ āĻŦāĻ¨ā§āϧ āĻ•āϰ⧇ āĻĻ⧇āĻŦ⧇āĨ¤

āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻž āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ

āĻŽā§‡āĻŽāϰāĻŋ āĻĢ⧁āϰāĻŋāϝāĻŧ⧇ āϗ⧇āϞ⧇ āĻĢāĻžāĻ‚āĻļāύ āĻŦāϞāĻž āĻšāϝāĻŧ out_of_memory(). āĻāϟāĻŋ āĻāĻ•āϟāĻŋ āĻĢāĻžāĻ‚āĻļāύ āφāϛ⧇ select_bad_process(), āϝāĻž āĻĢāĻžāĻ‚āĻļāύ āĻĨ⧇āϕ⧇ āĻāĻ•āϟāĻŋ āĻŽā§‚āĻ˛ā§āϝāĻžāϝāĻŧāύ āĻĒāĻžāϝāĻŧ badness(). "āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āĻ–āĻžāϰāĻžāĻĒ" āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻž āϟāĻžāĻ°ā§āϗ⧇āϟ āĻ•āϰāĻž āĻšāĻŦ⧇āĨ¤ āĻĢāĻžāĻ‚āĻļāύ badness() āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āύāĻŋāϝāĻŧāĻŽ āĻ…āύ⧁āϝāĻžāϝāĻŧā§€ āĻāĻ•āϟāĻŋ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻž āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ āĻ•āϰ⧇āĨ¤

  1. āĻ•āĻžāĻ°ā§āύ⧇āϞ⧇āϰ āύāĻŋāĻœā§‡āϰ āϜāĻ¨ā§āϝ āĻ•āĻŋāϛ⧁ āĻ¨ā§āϝ⧂āύāϤāĻŽ āĻŽā§‡āĻŽāϰāĻŋ āĻĒā§āϰāϝāĻŧā§‹āϜāύāĨ¤
  2. āφāĻĒāύāĻžāϕ⧇ āĻ…āύ⧇āĻ• āĻŽā§‡āĻŽāϰāĻŋ āĻ–āĻžāϞāĻŋ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇āĨ¤
  3. āĻ…āĻ˛ā§āĻĒ āĻŽā§‡āĻŽāϰāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϛ⧇ āĻāĻŽāύ āĻĒā§āϰāϏ⧇āϏāϗ⧁āϞ⧋āϕ⧇ āĻŦāĻ¨ā§āϧ āĻ•āϰāĻžāϰ āĻĻāϰāĻ•āĻžāϰ āύ⧇āχāĨ¤
  4. āĻ¨ā§āϝ⧂āύāϤāĻŽ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻž āϏāĻŽā§āĻĒāĻ¨ā§āύ āĻ•āϰāĻž āĻĒā§āϰāϝāĻŧā§‹āϜāύ.
  5. āϜāϟāĻŋāϞ āĻ…ā§āϝāĻžāϞāĻ—āϰāĻŋāĻĻāĻŽ āϝāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āύāĻŋāĻœā§‡āχ āϝ⧇ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϗ⧁āϞāĻŋ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ•āϰāϤ⧇ āϚāĻžāϝāĻŧ āϤāĻžāϰ āϜāĻ¨ā§āϝ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻšāĻ“āϝāĻŧāĻžāϰ āϏāĻŽā§āĻ­āĻžāĻŦāύāĻž āĻŦāĻžāĻĄāĻŧāĻžāϝāĻŧāĨ¤

āĻāχ āϏāĻŽāĻ¸ā§āϤ āĻšā§‡āĻ• āϏāĻŽā§āĻĒāĻ¨ā§āύ āĻ•āϰāĻžāϰ āĻĒāϰ⧇, OOM āĻ¸ā§āϕ⧋āϰ āĻĒāϰ⧀āĻ•ā§āώāĻž āĻ•āϰ⧇ (oom_score) āĻ“āĻ“āĻāĻŽ āύāĻŋāϝāĻŧā§‹āĻ— āĻ•āϰ⧇ oom_score āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻž, āĻāĻŦāĻ‚ āϤāĻžāϰāĻĒāϰ āĻŽā§‡āĻŽāϰāĻŋ āĻĒāϰāĻŋāĻŽāĻžāĻŖ āĻĻā§āĻŦāĻžāϰāĻž āĻāχ āĻŽāĻžāύ āϗ⧁āĻŖāĻŋāϤ. āĻŦ⧃āĻšāĻ¤ā§āϤāϰ āĻŽāĻžāύ āϏāĻš āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϗ⧁āϞāĻŋ āĻ“āĻ“āĻāĻŽ āĻ•āĻŋāϞāĻžāϰ⧇āϰ āĻļāĻŋāĻ•āĻžāϰ āĻšāĻ“āϝāĻŧāĻžāϰ āϏāĻŽā§āĻ­āĻžāĻŦāύāĻž āĻŦ⧇āĻļāĻŋāĨ¤ āϰ⧁āϟ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āϏāĻžāĻĨ⧇ āϝ⧁āĻ•ā§āϤ āĻĒā§āϰāϏ⧇āϏāϗ⧁āϞāĻŋāϰ āĻ¸ā§āϕ⧋āϰ āĻ•āĻŽ āĻĨāĻžāϕ⧇ āĻāĻŦāĻ‚ āĻļ⧇āώ āĻ•āϰāϤ⧇ āĻŦāĻžāĻ§ā§āϝ āĻšāĻ“āϝāĻŧāĻžāϰ āϏāĻŽā§āĻ­āĻžāĻŦāύāĻž āĻ•āĻŽ āĻĨāĻžāϕ⧇āĨ¤

postgres=# SELECT pg_backend_pid();
pg_backend_pid 
----------------
    3813
(1 row)

āĻĒā§‹āĻ¸ā§āϟāĻ—ā§āϰ⧇āϏ āĻĒā§āϰāϏ⧇āϏ āφāχāĻĄāĻŋ āĻšāϞ 3813, āϤāĻžāχ āĻ…āĻ¨ā§āϝ āĻļ⧇āϞ⧇ āĻāχ āĻ•āĻžāĻ°ā§āύ⧇āϞ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāϟāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻ¸ā§āϕ⧋āϰ āĻĒāĻžāĻ“āϝāĻŧāĻž āϏāĻŽā§āĻ­āĻŦ oom_score:

vagrant@vagrant:~$ sudo cat /proc/3813/oom_score
2

āφāĻĒāύāĻŋ āϝāĻĻāĻŋ OOM-Killer āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϟāĻŋāϕ⧇ āĻāϕ⧇āĻŦāĻžāϰ⧇āχ āĻļ⧇āώ āĻ•āϰāϤ⧇ āύāĻž āϚāĻžāύ āϤāĻŦ⧇ āφāϰ⧇āĻ•āϟāĻŋ āĻ•āĻžāĻ°ā§āύ⧇āϞ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āϰāϝāĻŧ⧇āϛ⧇: oom_score_adj. āφāĻĒāύāĻžāϰ āĻŽā§‚āĻ˛ā§āϝāĻŦāĻžāύ āĻāĻ•āϟāĻŋ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻž āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ•āϰāĻžāϰ āϏāĻŽā§āĻ­āĻžāĻŦāύāĻž āĻ•āĻŽāĻžāϤ⧇ āĻāĻ•āϟāĻŋ āĻŦāĻĄāĻŧ āύ⧇āϤāĻŋāĻŦāĻžāϚāĻ• āĻŽāĻžāύ āϝ⧋āĻ— āĻ•āϰ⧁āύāĨ¤

sudo echo -100 > /proc/3813/oom_score_adj

āĻāĻ•āϟāĻŋ āĻŽāĻžāύ āϏ⧇āϟ āĻ•āϰāϤ⧇ oom_score_adj, āĻĒāϰāĻŋāώ⧇āĻŦāĻž āĻŦā§āϞāϕ⧇ OOMScoreAdjust āϏ⧇āϟ āĻ•āϰ⧁āύ:

[Service]
OOMScoreAdjust=-1000

āĻ…āĻĨāĻŦāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ oomprotect āĻāĻ•āϟāĻŋ āĻĻāϞ⧇ rcctl.

rcctl set <i>servicename</i> oomprotect -1000

āĻāĻ•āϟāĻŋ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϰ āĻœā§‹āϰ āĻ•āϰ⧇ āϏāĻŽāĻžāĻĒā§āϤāĻŋ

āϝāĻ–āύ āĻāĻ• āĻŦāĻž āĻāĻ•āĻžāϧāĻŋāĻ• āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻž āχāϤāĻŋāĻŽāĻ§ā§āϝ⧇āχ āύāĻŋāĻ°ā§āĻŦāĻžāϚāĻŋāϤ āĻšāϝāĻŧ, āϤāĻ–āύ OOM-āĻ•āĻŋāϞāĻžāϰ āĻĢāĻžāĻ‚āĻļāύāϟāĻŋāϕ⧇ āĻ•āϞ āĻ•āϰ⧇ oom_kill_task(). āĻāχ āĻĢāĻžāĻ‚āĻļāύ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻž āĻāĻ•āϟāĻŋ āϏāĻŽāĻžāĻĒā§āϤāĻŋ āϏāĻ‚āϕ⧇āϤ āĻĒāĻžāĻ āĻžāϝāĻŧ. āĻ¸ā§āĻŽā§ƒāϤāĻŋ āϘāĻžāϟāϤāĻŋāϰ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ oom_kill() āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϟāĻŋāϤ⧇ āĻāĻ•āϟāĻŋ āϏāĻŋāĻ—āĻ•āĻŋāϞ āϏāĻ‚āϕ⧇āϤ āĻĒāĻžāĻ āĻžāϤ⧇ āĻāχ āĻĢāĻžāĻ‚āĻļāύāϟāĻŋāϕ⧇ āĻ•āϞ āĻ•āϰ⧇āĨ¤ āĻ•āĻžāĻ°ā§āύ⧇āϞ āϞāϗ⧇ āĻāĻ•āϟāĻŋ āĻŦāĻžāĻ°ā§āϤāĻž āϞ⧇āĻ–āĻž āĻšāϝāĻŧāĨ¤

Out of Memory: Killed process [pid] [name].

āĻ•āĻŋāĻ­āĻžāĻŦ⧇ OOM-Killer āύāĻŋāϝāĻŧāĻ¨ā§āĻ¤ā§āϰāĻŖ āĻ•āϰāĻŦ⧇āύ

В Linux āφāĻĒāύāĻŋ OOM-Killer āϏāĻ•ā§āϰāĻŋāϝāĻŧ āĻŦāĻž āύāĻŋāĻˇā§āĻ•ā§āϰāĻŋāϝāĻŧ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ (āϝāĻĻāĻŋāĻ“ āύāĻŋāĻˇā§āĻ•ā§āϰāĻŋāϝāĻŧ āĻ•āϰāĻžāϰ āĻĒāϰāĻžāĻŽāĻ°ā§āĻļ āĻĻ⧇āĻ“āϝāĻŧāĻž āĻšāϝāĻŧ āύāĻž)āĨ¤ āĻāϟāĻŋ āϏāĻ•ā§āϰāĻŋāϝāĻŧ āĻŦāĻž āύāĻŋāĻˇā§āĻ•ā§āϰāĻŋāϝāĻŧ āĻ•āϰāϤ⧇, āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāϟāĻžāϰāϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤ vm.oom-kill. āϰāĻžāύāϟāĻžāχāĻŽā§‡ OOM-āĻ•āĻŋāϞāĻžāϰ āϏāĻ•ā§āώāĻŽ āĻ•āϰāϤ⧇, āĻ•āĻŽāĻžāĻ¨ā§āĻĄāϟāĻŋ āϚāĻžāϞāĻžāύ sysctl.

sudo -s sysctl -w vm.oom-kill = 1

OOM-Killer āύāĻŋāĻˇā§āĻ•ā§āϰāĻŋāϝāĻŧ āĻ•āϰāϤ⧇, āĻāĻ•āχ āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡ āĻŽāĻžāύ 0 āωāĻ˛ā§āϞ⧇āĻ– āĻ•āϰ⧁āύ:

sudo -s sysctl -w vm.oom-kill = 0

āĻāχ āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡āϰ āĻĢāϞāĻžāĻĢāϞ āϚāĻŋāϰāϤāϰ⧇ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰāĻž āĻšāĻŦ⧇ āύāĻž, āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻĒā§āϰāĻĨāĻŽ āϰāĻŋāĻŦ⧁āϟ āĻĒāĻ°ā§āϝāĻ¨ā§āϤāĨ¤ āφāĻĒāύāĻžāϰ āϝāĻĻāĻŋ āφāϰāĻ“ āĻ…āĻ§ā§āϝāĻŦāϏāĻžāϝāĻŧ⧇āϰ āĻĒā§āϰāϝāĻŧā§‹āϜāύ āĻšāϝāĻŧ āϤāĻŦ⧇ āĻĢāĻžāχāϞāϟāĻŋāϤ⧇ āĻāχ āϞāĻžāχāύāϟāĻŋ āϝ⧁āĻ•ā§āϤ āĻ•āϰ⧁āύ /etc/sysctl.conf:

echo vm.oom-kill = 1 >>/etc/sysctl.conf

āϏāĻ•ā§āϰāĻŋāϝāĻŧ āĻāĻŦāĻ‚ āύāĻŋāĻˇā§āĻ•ā§āϰāĻŋāϝāĻŧ āĻ•āϰāĻžāϰ āφāϰ⧇āĻ•āϟāĻŋ āωāĻĒāĻžāϝāĻŧ āĻšāϞ āĻāĻ•āϟāĻŋ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύāĻļā§€āϞ āϞ⧇āĻ–āĻž panic_on_oom. āĻŽāĻžāύ āϏāĻŦāϏāĻŽāϝāĻŧ āĻšā§‡āĻ• āχāύ āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇ /proc.

$ cat /proc/sys/vm/panic_on_oom
0

āϝāĻĻāĻŋ āφāĻĒāύāĻŋ āĻŽāĻžāύ 0 āϏ⧇āϟ āĻ•āϰ⧇āύ, āϤāĻžāĻšāϞ⧇ āĻŽā§‡āĻŽāϰāĻŋ āĻĢ⧁āϰāĻŋāϝāĻŧ⧇ āϗ⧇āϞ⧇, āĻ•āĻžāĻ°ā§āύ⧇āϞ āĻĒā§āϝāĻžāύāĻŋāĻ• āĻĨāĻžāĻ•āĻŦ⧇ āύāĻžāĨ¤

$ echo 0 > /proc/sys/vm/panic_on_oom

āφāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻŽāĻžāύ 1 āϤ⧇ āϏ⧇āϟ āĻ•āϰ⧇āύ, āϤāĻžāĻšāϞ⧇ āĻŽā§‡āĻŽāϰāĻŋ āĻĢ⧁āϰāĻŋāϝāĻŧ⧇ āϗ⧇āϞ⧇, āĻāĻ•āϟāĻŋ āĻ•āĻžāĻ°ā§āύ⧇āϞ āĻĒā§āϝāĻžāύāĻŋāĻ• āϘāϟāĻŦ⧇āĨ¤

echo 1 > /proc/sys/vm/panic_on_oom

āϝ⧇āĻŽāύāϟāĻž āφāĻŽāϰāĻž āφāϗ⧇āχ āωāĻ˛ā§āϞ⧇āĻ– āĻ•āϰ⧇āĻ›āĻŋ, OOM-Killer āϚāĻžāϞ⧁ āĻāĻŦāĻ‚ āĻŦāĻ¨ā§āϧ āĻ•āϰāĻž āϝāĻžāϝāĻŧāĨ¤ Linux āĻĒā§āϰāϏ⧇āϏāϗ⧁āϞ⧋āϰ āϜāĻ¨ā§āϝ āωāĻĒāϞāĻŦā§āϧ āĻŽā§‡āĻŽāϰāĻŋāϰ āĻšā§‡āϝāĻŧ⧇ āĻŦ⧇āĻļāĻŋ āĻŽā§‡āĻŽāϰāĻŋ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇, āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻĒā§āϰāĻ•ā§ƒāϤāĻĒāĻ•ā§āώ⧇ āϤāĻž āĻŦāϰāĻžāĻĻā§āĻĻ āύāĻžāĻ“ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇, āĻāĻŦāĻ‚ āĻāχ āφāϚāϰāĻŖāϟāĻŋ āĻāĻ•āϟāĻŋ āĻ•āĻžāĻ°ā§āύ⧇āϞ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāϟāĻžāϰ āĻĻā§āĻŦāĻžāϰāĻž āύāĻŋāϝāĻŧāĻ¨ā§āĻ¤ā§āϰāĻŋāϤ āĻšāϝāĻŧāĨ¤ LinuxāĻāχ āϭ⧇āϰāĻŋāϝāĻŧ⧇āĻŦāϞāϟāĻŋ āĻāϰ āϜāĻ¨ā§āϝ āĻĻāĻžāϝāĻŧā§€āĨ¤ vm.overcommit_memory.

āφāĻĒāύāĻŋ āĻāϟāĻŋāϰ āϜāĻ¨ā§āϝ āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤ āĻŽāĻžāύāϗ⧁āϞāĻŋ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ:

0: āĻ…āϤāĻŋāϰāĻŋāĻ•ā§āϤ āĻŽā§‡āĻŽāϰāĻŋ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰāĻž āĻšāĻŦ⧇ āĻ•āĻŋāύāĻž, āϏ⧇āχ āϏāĻŋāĻĻā§āϧāĻžāĻ¨ā§āϤ āĻ•āĻžāĻ°ā§āύ⧇āϞ āύāĻŋāĻœā§‡āχ āύ⧇āϝāĻŧāĨ¤ āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āϏāĻ‚āĻ¸ā§āĻ•āϰāϪ⧇ āĻāϟāĻŋāχ āĻĄāĻŋāĻĢāĻ˛ā§āϟ āĻŽāĻžāύāĨ¤ Linux.
1: āĻ•āĻžāĻ°ā§āύ⧇āϞ āϏāĻŦāϏāĻŽāϝāĻŧ āĻ…āϤāĻŋāϰāĻŋāĻ•ā§āϤ āĻŽā§‡āĻŽāϰāĻŋ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰāĻŦ⧇āĨ¤ āĻāϟāĻŋ āĻā§āρāĻ•āĻŋāĻĒā§‚āĻ°ā§āĻŖ, āĻ•āĻžāϰāĻŖ āĻŽā§‡āĻŽāϰāĻŋ āĻĢ⧁āϰāĻŋāϝāĻŧ⧇ āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇, āĻ•āĻžāϰāĻŖ, āϏāĻŽā§āĻ­āĻŦāϤ, āĻāĻ•āĻĻāĻŋāύ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϗ⧁āϞāĻŋāϰ āĻĒā§āϰāϝāĻŧā§‹āϜāύ āĻšāĻŦ⧇āĨ¤
2: āĻ•āĻžāĻ°ā§āύ⧇āϞ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāϟāĻžāϰ⧇ āωāĻ˛ā§āϞāĻŋāĻ–āĻŋāϤ āĻŽā§‡āĻŽāϰāĻŋāϰ āĻšā§‡āϝāĻŧ⧇ āĻŦ⧇āĻļāĻŋ āĻŽā§‡āĻŽāϰāĻŋ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰāĻŦ⧇ āύāĻž overcommit_ratio.

āĻāχ āĻĒāϰāĻžāĻŽāĻŋāϤāĻŋ āĻĻāĻŋāϝāĻŧ⧇, āφāĻĒāύāĻŋ āĻŽā§‡āĻŽāϰāĻŋāϰ āĻļāϤāĻžāĻ‚āĻļ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ•āϰ⧁āύ āϝāĻž āĻ…āϤāĻŋāϰāĻŋāĻ•ā§āϤ-āϏāĻ‚āϰāĻ•ā§āώāĻŋāϤ āĻ•āϰāĻžāϰ āĻ…āύ⧁āĻŽāϤāĻŋ āĻĻ⧇āĻ“āϝāĻŧāĻž āĻšāϝāĻŧāĨ¤ āϝāĻĻāĻŋ āĻāϟāĻŋāϰ āϜāĻ¨ā§āϝ āϕ⧋āύ āĻ¸ā§āĻĨāĻžāύ āύāĻž āĻĨāĻžāϕ⧇, āϕ⧋āύ āĻŽā§‡āĻŽāϰāĻŋ āĻŦāϰāĻžāĻĻā§āĻĻ āĻ•āϰāĻž āĻšāϝāĻŧ āύāĻž, āĻāĻŦāĻ‚ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ…āĻ¸ā§āĻŦā§€āĻ•āĻžāϰ āĻ•āϰāĻž āĻšāĻŦ⧇āĨ¤ āĻāϟāĻŋ PostgreSQL āĻāϰ āϜāĻ¨ā§āϝ āϏ⧁āĻĒāĻžāϰāĻŋāĻļāĻ•ā§ƒāϤ āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āύāĻŋāϰāĻžāĻĒāĻĻ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĨ¤ OOM-āĻ•āĻŋāϞāĻžāϰ āĻ…āĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āωāĻĒāĻžāĻĻāĻžāύ āĻĻā§āĻŦāĻžāϰāĻž āĻĒā§āϰāĻ­āĻžāĻŦāĻŋāϤ āĻšāϝāĻŧ - āĻ…āĻĻāϞāĻŦāĻĻāϞ āĻ•ā§āώāĻŽāϤāĻž, āϝāĻž āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύāĻļā§€āϞ āĻĻā§āĻŦāĻžāϰāĻž āύāĻŋāϝāĻŧāĻ¨ā§āĻ¤ā§āϰāĻŋāϤ āĻšāϝāĻŧ cat /proc/sys/vm/swappiness. āĻāχ āĻŽāĻžāύāϗ⧁āϞāĻŋ āĻ•āĻžāĻ°ā§āύ⧇āϞāϕ⧇ āϕ⧀āĻ­āĻžāĻŦ⧇ āĻĒ⧇āϜāĻŋāĻ‚ āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āĻ•āϰāϤ⧇ āĻšāϝāĻŧ āϤāĻž āĻŦāϞ⧇āĨ¤ āĻŽāĻžāύ āϝāϤ āĻŦ⧇āĻļāĻŋ āĻšāĻŦ⧇, OOM āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϟāĻŋ āĻŦāĻ¨ā§āϧ āĻ•āϰāĻžāϰ āϏāĻŽā§āĻ­āĻžāĻŦāύāĻž āϤāϤ āĻ•āĻŽ, āĻ•āĻŋāĻ¨ā§āϤ⧁ I/O āĻ…āĻĒāĻžāϰ⧇āĻļāύ⧇āϰ āĻ•āĻžāϰāϪ⧇ āĻāϟāĻŋ āĻĄāĻžāϟāĻžāĻŦ⧇āϏ⧇āϰ āωāĻĒāϰ āύ⧇āϤāĻŋāĻŦāĻžāϚāĻ• āĻĒā§āϰāĻ­āĻžāĻŦ āĻĢ⧇āϞ⧇āĨ¤ āĻāĻŦāĻ‚ āϤāĻĻā§āĻŦāĻŋāĻĒāϰ⧀āϤ - āĻŽāĻžāύ āϝāϤ āĻ•āĻŽ āĻšāĻŦ⧇, OOM-āĻ•āĻŋāϞāĻžāϰ āĻšāĻ¸ā§āϤāĻ•ā§āώ⧇āĻĒ⧇āϰ āϏāĻŽā§āĻ­āĻžāĻŦāύāĻž āϤāϤ āĻŦ⧇āĻļāĻŋ, āϤāĻŦ⧇ āĻĄāĻžāϟāĻžāĻŦ⧇āϏ⧇āϰ āĻ•āĻžāĻ°ā§āϝāĻ•āĻžāϰāĻŋāϤāĻžāĻ“ āĻŦ⧇āĻļāĻŋāĨ¤ āĻĄāĻŋāĻĢāĻ˛ā§āϟ āĻŽāĻžāύ 60, āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻĒ⧁āϰ⧋ āĻĄāĻžāϟāĻžāĻŦ⧇āϏ āĻŽā§‡āĻŽāϰāĻŋāϤ⧇ āĻĢāĻŋāϟ āĻšāϞ⧇, āĻŽāĻžāύāϟāĻŋ 1 āĻ āϏ⧇āϟ āĻ•āϰāĻž āĻ­āĻžāϞāĨ¤

āĻĢāϞāĻžāĻĢāϞ

āĻ“āĻ“āĻāĻŽ-āĻ•āĻŋāϞāĻžāϰ⧇āϰ "āĻšāĻ¤ā§āϝāĻžāĻ•āĻžāϰ⧀" āφāĻĒāύāĻžāϕ⧇ āĻ­āϝāĻŧ āĻĻ⧇āĻ–āĻžāϤ⧇ āĻĻ⧇āĻŦ⧇āύ āύāĻžāĨ¤ āĻāχ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇, āĻšāĻ¤ā§āϝāĻžāĻ•āĻžāϰ⧀ āφāĻĒāύāĻžāϰ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āϰ āĻ¤ā§āϰāĻžāĻŖāĻ•āĻ°ā§āϤāĻž āĻšāĻŦ⧇āĨ¤ āĻāϟāĻŋ āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āĻ–āĻžāϰāĻžāĻĒ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϗ⧁āϞāĻŋāϕ⧇ "āĻšāĻ¤ā§āϝāĻž" āĻ•āϰ⧇ āĻāĻŦāĻ‚ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽāϟāĻŋāϕ⧇ āĻŦāĻŋāĻĒāĻ°ā§āϝāĻ¸ā§āϤ āĻšāĻ“āϝāĻŧāĻž āĻĨ⧇āϕ⧇ āĻŦāĻžāρāϚāĻžāϝāĻŧāĨ¤ PostgreSQL āĻŦāĻ¨ā§āϧ āĻ•āϰāϤ⧇ OOM-Killer āĻŦā§āϝāĻŦāĻšāĻžāϰ āύāĻž āĻ•āϰāϤ⧇, āϏ⧇āϟ āĻ•āϰ⧁āύ vm.overcommit_memory āĻŽāĻžāύ 2. āĻāϟāĻŋ āĻ—ā§āϝāĻžāϰāĻžāĻ¨ā§āϟāĻŋ āĻĻ⧇āϝāĻŧ āύāĻž āϝ⧇ OOM-āĻ•āĻŋāϞāĻžāϰāϕ⧇ āĻšāĻ¸ā§āϤāĻ•ā§āώ⧇āĻĒ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇ āύāĻž, āϤāĻŦ⧇ āĻāϟāĻŋ PostgreSQL āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϟāĻŋāϕ⧇ āĻŦāĻ¨ā§āϧ āĻ•āϰāϤ⧇ āĻŦāĻžāĻ§ā§āϝ āĻ•āϰāĻžāϰ āϏāĻŽā§āĻ­āĻžāĻŦāύāĻž āĻ•āĻŽāĻŋāϝāĻŧ⧇ āĻĻ⧇āĻŦ⧇āĨ¤

āωāĻ¤ā§āϏ: www.habr.com

DDoS āϏ⧁āϰāĻ•ā§āώāĻž, VPS VDS āϏāĻžāĻ°ā§āĻ­āĻžāϰ āϏāĻš āϏāĻžāχāϟāϗ⧁āϞāĻŋāϰ āϜāĻ¨ā§āϝ āύāĻŋāĻ°ā§āĻ­āϰāϝ⧋āĻ—ā§āϝ āĻšā§‹āĻ¸ā§āϟāĻŋāĻ‚ āĻ•āĻŋāύ⧁āύ đŸ”Ĩ DDoS āϏ⧁āϰāĻ•ā§āώāĻž āϏāĻš āύāĻŋāĻ°ā§āĻ­āϰāϝ⧋āĻ—ā§āϝ āĻ“āϝāĻŧ⧇āĻŦāϏāĻžāχāϟ āĻšā§‹āĻ¸ā§āϟāĻŋāĻ‚ āĻ•āĻŋāύ⧁āύ, VPS VDS āϏāĻžāĻ°ā§āĻ­āĻžāϰ | ProHoster