๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ์— ๋Œ€ํ•œ ์กฐ๊ธฐ ๋Œ€์‘ ํ”„๋กœ์„ธ์Šค์ธ earlyoom 1.3 ์ถœ์‹œ

1.3๊ฐœ์›” ๊ฐ„์˜ ๊ฐœ๋ฐœ ๋์— ์ฃผ๊ธฐ์ ์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฉ”๋ชจ๋ฆฌ(MemAvailable, SwapFree)์˜ ์–‘์„ ํ™•์ธํ•˜๊ณ  ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ์— ์กฐ๊ธฐ ๋Œ€์‘์„ ์‹œ๋„ํ•˜๋Š” earlyoom XNUMX ๋ฐฑ๊ทธ๋ผ์šด๋“œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฉ”๋ชจ๋ฆฌ ์–‘์ด ์ง€์ •๋œ ๊ฐ’๋ณด๋‹ค ์ ์œผ๋ฉด earlyoom์€ ์‹œ์Šคํ…œ ์ƒํƒœ๋ฅผ ๊ฐ€์ ธ์˜ค์ง€ ์•Š๊ณ  ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ฐ€์žฅ ์ ๊ทน์ ์œผ๋กœ ์†Œ๋น„ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค(๊ฐ€์žฅ ๋†’์€ /proc/*/oom_score ๊ฐ’์„ ๊ฐ€์ง)๋ฅผ ๊ฐ•์ œ๋กœ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค(SIGTERM ๋˜๋Š” SIGKILL ์ „์†ก). ์‹œ์Šคํ…œ ๋ฒ„ํผ๋ฅผ ์ง€์šฐ๊ณ  ์ž‘์—… ๊ตํ™˜์„ ๋ฐฉํ•ดํ•ฉ๋‹ˆ๋‹ค(๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ ์ƒํƒœ๊ฐ€ ์ด๋ฏธ ์ž„๊ณ„ ๊ฐ’์— ๋„๋‹ฌํ•˜๋ฉด ์ผ๋ฐ˜์ ์œผ๋กœ ์ด ์ˆœ๊ฐ„ ์‹œ์Šคํ…œ์ด ๋” ์ด์ƒ ์‘๋‹ตํ•˜์ง€ ์•Š์„ ๋•Œ ์ปค๋„์˜ OOM(Out Of Memory) ์ฒ˜๋ฆฌ๊ธฐ๊ฐ€ ํŠธ๋ฆฌ๊ฑฐ๋ฉ๋‹ˆ๋‹ค) ์‚ฌ์šฉ์ž ์ž‘์—…).

Earlyoom์€ ๊ฐ•์ œ๋กœ ์ข…๋ฃŒ๋œ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ์•Œ๋ฆผ์„ ๋ฐ์Šคํฌํƒ‘์œผ๋กœ ๋ณด๋‚ด๋Š” ๊ฒƒ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค(notify-send ์‚ฌ์šฉ). ๋˜ํ•œ ์ •๊ทœ ํ‘œํ˜„์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ์ข…๋ฃŒํ•˜๊ธฐ๋ฅผ ์›ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค์˜ ์ด๋ฆ„์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๊ทœ์น™์„ ์ •์˜ํ•˜๋Š” ๊ธฐ๋Šฅ๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค("- -prefer" ์˜ต์…˜) ๋˜๋Š” ์ค‘์ง€๋ฅผ ํ”ผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(์˜ต์…˜ "โ€”avoid").

์ƒˆ ๋ฆด๋ฆฌ์Šค์˜ ์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ:

  • ์‹ ํ˜ธ๋ฅผ ๋ณด๋‚ธ ํ›„ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์™„๋ฃŒ๋˜๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๊ฒƒ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” Earlyoom์ด ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๋กœ ์ถฉ๋ถ„ํ•  ๋•Œ ํ•˜๋‚˜ ์ด์ƒ์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ข…๋ฃŒํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.
  • ์•Œ๋ฆผ-์ „์†ก ์•Œ๋ฆผ์„ ํ†ตํ•ด ๋กœ๊ทธ์ธํ•œ ๋ชจ๋“  ์‚ฌ์šฉ์ž์—๊ฒŒ ํ”„๋กœ์„ธ์Šค ์™„๋ฃŒ๋ฅผ ์•Œ๋ฆฌ๋Š” ๋ณด์กฐ ์Šคํฌ๋ฆฝํŠธ(notify_all_users.py)๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • UTF-8 ๋ฌธ์ž๊ฐ€ ํฌํ•จ๋œ ์ผ๋ถ€ ํ”„๋กœ์„ธ์Šค ์ด๋ฆ„์˜ ์ž˜๋ชป๋œ ํ‘œ์‹œ๊ฐ€ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ธฐ์—ฌ์ž ๊ทœ์•ฝ ํ–‰๋™๊ฐ•๋ น์ด ์ฑ„ํƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : linux.org.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€