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