XNUMX๊ฐ์๊ฐ์ ๊ฐ๋ฐ ๋์
์ฌ์ฉ ๊ฐ๋ฅํ ๋ฉ๋ชจ๋ฆฌ ์์ด ์ง์ ๋ ๊ฐ๋ณด๋ค ์ ์ผ๋ฉด earlyoom์ ์์คํ ์ํ๋ฅผ ๊ฐ์ ธ์ค์ง ์๊ณ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ฐ์ฅ ์ ๊ทน์ ์ผ๋ก ์๋นํ๋ ํ๋ก์ธ์ค(๊ฐ์ฅ ๋์ /proc/*/oom_score ๊ฐ์ ๊ฐ์ง)๋ฅผ ๊ฐ์ ๋ก ์ข ๋ฃํฉ๋๋ค(SIGTERM ๋๋ SIGKILL ์ ์ก). ์์คํ ๋ฒํผ๋ฅผ ์ง์ฐ๊ณ ์์ ๊ตํ์ ๋ฐฉํดํฉ๋๋ค(๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ ์ํ๊ฐ ์ด๋ฏธ ์๊ณ ๊ฐ์ ๋๋ฌํ๋ฉด ์ผ๋ฐ์ ์ผ๋ก ์ด ์๊ฐ ์์คํ ์ด ๋ ์ด์ ์๋ตํ์ง ์์ ๋ ์ปค๋์ OOM(Out Of Memory) ์ฒ๋ฆฌ๊ธฐ๊ฐ ํธ๋ฆฌ๊ฑฐ๋ฉ๋๋ค) ์ฌ์ฉ์ ์์ ).
Earlyoom์ ๊ฐ์ ์ข ๋ฃ๋ ํ๋ก์ธ์ค์ ๋ํ ์๋ฆผ์ ๋ฐ์คํฌํ์ผ๋ก ๋ณด๋ด๋ ๊ฒ์ ์ง์ํฉ๋๋ค(notify-send ์ฌ์ฉ). ๋ํ ์ ๊ท์์ ์ฌ์ฉํ์ฌ ์ข ๋ฃํ๊ธฐ๋ฅผ ์ํ๋ ํ๋ก์ธ์ค์ ์ด๋ฆ์ ์ง์ ํ ์ ์๋ ๊ท์น์ ์ ์ํ๋ ๊ธฐ๋ฅ๋ ์ ๊ณตํฉ๋๋ค(์ต์ "- -prefer") ๋๋ ์ค์ง๋ฅผ ํผํด์ผ ํฉ๋๋ค(์ต์ "--avoid").
์ฃผ์
- ์ ๋น์ฉ์ผ๋ก
๊ฒ์ผ๋ฅธ ๋ก๋ฉ ํ๋ก์ธ์ค ์์ฑ ์๋ฃ๋ฅผ ์ํ ํ๋ก์ธ์ค ์ ํ ๋ก์ง์ด 50% ๋ ๋นจ๋ผ์ก์ต๋๋ค. - PID ๋ฐ ํ๋ก์ธ์ค ์ด๋ฆ ์ธ์๋ ์ข ๋ฃ๋๋ ํ๋ก์ธ์ค์ UID๊ฐ ๋ก๊ทธ์ ๋ฐ์๋๋์ง ํ์ธํ์ต๋๋ค.
- ๋ฐ์ ํ์์ผ๋ก ๋๋ฒ๊ทธ ๋ก๊ทธ ๊ฐ์กฐ ํ์๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
- ์ฝ๋๋ฅผ ์ ๋ฆฌํ์ต๋๋ค.
- ๊ฐ๋ฅํ ๊ฒฝ์ฐ ๋ธ๋ก์ ๋ก์ปฌ์ธ ๋ณ์ ์ ์ธ์ด ์ฌ์ฉ๋์์ต๋๋ค.
- ์ฝ๋์ ํฌํจ๋ ๋ฒํผ ํฌ๊ธฐ ๊ฐ์ ๋์ฒดํ๊ธฐ ์ํด PATH_LEN ์ค์ ์ ์ถ๊ฐํ์ต๋๋ค.
- ๊ฐ๋ฅํ ๊ฒฝ์ฐ cppcheck๊ฐ ์คํ๋๋์ง ํ์ธํ์ต๋๋ค.
- "๋ฒค์น ๋ง๋ค๊ธฐ" ์ฑ๋ฅ ํ ์คํธ๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- ํ์ฅ๋ ํ ์คํธ ์ธํธ(ํ ์คํธ ์ํ)
- systemd earlyoom.service ๋จ์ ํ์ผ์์ ๋ฃจํธ ๊ถํ ์ฌ์ค์ ์ ๊ตฌํํ์ต๋๋ค. ์ด ๋ณํ
ํด์ GUI ์๋ฆผ ๊ฐ๋ฅ์ฑ. GUI ์๋ฆผ์ ํ์ฑํํ๋ ค๋ฉด "DynamicUser=true"์ ์ฃผ์ ์ฒ๋ฆฌ๋ฅผ ์ ๊ฑฐํ์ฌ ๋ฃจํธ ๊ถํ์ ๋ฐํํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋ฃจํธ๋ ๋นํ์ฑํะฟัะธะฒะพะดะธั hidepid=1 ๋๋ hidepid=2 ๋ชจ๋์์ /proc๋ฅผ ๋ง์ดํธํ ๋ ๋ฉ๋ชจ๋ฆฌ ์๋น์ ๋ํ ์ ๋ณด๋ฅผ ์ป์ ์ ์์ต๋๋ค.
์ถ์ฒ : opennet.ru