
เดเดณเตเดณเดชเตเดชเตเตพ Linux เดกเดพเดฑเตเดฑเดพเดฌเตเดธเต เดธเตเตผเดตเตผ เด เดชเตเดฐเดคเตเดเตเดทเดฟเดคเดฎเดพเดฏเดฟ เด เดตเดธเดพเดจเดฟเดเตเดเตเดจเตเดจเต, เดเดพเดฐเดฃเด เดจเดฟเตผเดฃเตเดฃเดฏเดฟเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต. เดจเดฟเดฐเดตเดงเดฟ เดเดพเดฐเดฃเดเตเดเดณเตเดฃเตเดเดพเดเดพเด. เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, SIGSEGV - เดฌเดพเดเตเดเตเตปเดกเต เดธเตเตผเดตเดฑเดฟเดฒเต เดเดฐเต เดฌเดเต เดเดพเดฐเดฃเด เดชเดฐเดพเดเดฏเด. เดเดจเตเดจเดพเตฝ เดเดคเต เด เดชเตเตผเดตเดฎเดพเดฃเต. เดฎเดฟเดเตเดเดชเตเดชเตเดดเตเด, เดจเดฟเดเตเดเตพเดเตเดเต เดกเดฟเดธเตเดเดฟเตฝ เดธเตเดฅเดฒเดฎเต เดฎเตเดฎเตเดฎเดฑเดฟเดฏเต เดคเตเตผเดจเตเดจเต. เดจเดฟเดเตเดเดณเตเดเต เดกเดฟเดธเตเดเดฟเตฝ เดเดเด เดคเตเตผเดจเตเดจเดพเตฝ, เดเดฐเต เดชเตเดเดตเดดเดฟ เดฎเดพเดคเตเดฐเดฎเตเดฏเตเดณเตเดณเต - เดธเตเดฅเดฒเด เดถเตเดจเตเดฏเดฎเดพเดเตเดเดฟ เดกเดพเดฑเตเดฑเดพเดฌเตเดธเต เดชเตเดจเดฐเดพเดฐเดเดญเดฟเดเตเดเตเด.
เดเตผเดฎเตเดฎเดฏเดฟเดฒเตเดฒเดพเดคเตเดค เดเตเดฒเดฏเดพเดณเดฟ
เดจเต เดเดชเตเดชเตเตพ เดธเตเตผเดตเตผ เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดชเตเดฐเดเตเดฐเดฟเดฏ เดฎเตเดฎเตเดฎเดฑเดฟ เดคเตเตผเดจเตเดจเต, Linux เดเดเตเดเต-เดเดซเต-เดฎเตเดฎเตเดฎเดฑเดฟ เดเดฟเดฒเตเดฒเตผ เดฐเดฃเตเดเต เดชเดฐเดฟเดนเดพเดฐเดเตเดเตพ เดตเดพเดเตเดฆเดพเดจเด เดเตเดฏเตเดฏเตเดจเตเดจเต: เดฎเตเดดเตเดตเตป เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเตเดฏเตเด เดเตเดฐเดพเดทเต เดเตเดฏเตเดฏเตเด เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดฎเตเดฎเตเดฎเดฑเดฟ เดจเดถเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจ เดชเตเดฐเตเดธเดธเตเดธเต (เดเดชเตเดฒเดฟเดเตเดเตเดทเตป) เด เดตเดธเดพเดจเดฟเดชเตเดชเดฟเดเตเดเตเด. เดคเตเตผเดเตเดเดฏเดพเดฏเตเด, เดชเตเดฐเตเดธเดธเตเดธเต เด เดตเดธเดพเดจเดฟเดชเตเดชเดฟเดเตเดเต OS เดเตเดฐเดพเดทเดพเดเตเดจเตเดจเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดฐเดเตเดทเดฟเดเตเดเตเดจเตเดจเดคเดพเดฃเต เดจเดฒเตเดฒเดคเต. เดเตเดฐเตเดเตเดเดคเตเดคเดฟเตฝ, เดเดเตเดเต-เดเดซเต-เดฎเตเดฎเตเดฎเดฑเดฟ เดเดฟเดฒเตเดฒเตผ เดเดจเตเดจเดคเต เดเตเตผเดฃเตฝ เดเตเดฐเดพเดทเดพเดเตเดจเตเดจเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดฐเดเตเดทเดฟเดเตเดเดพเตป เดเดฐเต เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเต เด เดตเดธเดพเดจเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจ เดเดฐเต เดชเตเดฐเดเตเดฐเดฟเดฏเดฏเดพเดฃเต. OS เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเดคเต เดจเดฟเดฒเดจเดฟเตผเดคเตเดคเดพเตป เดเดคเต เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเต เดฌเดฒเดฟเดเดดเดฟเดเตเดเตเดจเตเดจเต. เดเดฆเตเดฏเด OOM เดเดเตเดเดจเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเตเดตเตเดจเตเดจเตเด เด เดคเต เดเดเตเดเดจเต เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเดเตเดเดพเดฎเตเดจเตเดจเตเด เดเตผเดเตเด เดเตเดฏเตเดฏเดพเด, เดคเตเดเตผเดจเตเดจเต OOM เดเดฟเดฒเตเดฒเตผ เดเดคเตเดเตเดเต เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเตเดเตพ เด เดตเดธเดพเดจเดฟเดชเตเดชเดฟเดเตเดเดฃเดฎเตเดจเตเดจเต เดคเตเดฐเตเดฎเดพเดจเดฟเดเตเดเตเดจเตเดจเตเดตเตเดจเตเดจเต เดจเตเดเตเดเดพเด.
เดชเตเดฐเดงเดพเดจ เดเตเดฒเดฟเดเดณเดฟเตฝ เดเดจเตเดจเต Linux โ เดชเตเดฐเตเดธเดธเตเดธเตเดเตพ เด เดญเตเดฏเตผเดคเตเดฅเดฟเดเตเดเตเดฎเตเดชเตเตพ เดฎเตเดฎเตเดฎเดฑเดฟ เด เดจเตเดตเดฆเดฟเดเตเดเตเด. เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ, เดเดฐเต เดชเตเดฐเตเดธเดธเตเดธเต เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดเดชเตเดฒเดฟเดเตเดเตเดทเตป OS-เตฝ เดจเดฟเดจเตเดจเต เดฎเตเดฎเตเดฎเดฑเดฟ เด เดญเตเดฏเตผเดคเตเดฅเดฟเดเตเดเตเดจเตเดจเต, เดชเดเตเดทเต เด เดคเต เดชเตเตผเดฃเตเดฃเดฎเดพเดฏเตเด เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเดฟเดฒเตเดฒ. OS เด เดคเต เด เดญเตเดฏเตผเดคเตเดฅเดฟเดเตเดเตเดจเตเดจ เดเดฒเตเดฒเดพเดตเตผเดเตเดเตเด เดฎเตเดฎเตเดฎเดฑเดฟ เด เดจเตเดตเดฆเดฟเดเตเดเดพเตฝ, เดธเดฟเดธเตเดฑเตเดฑเด เดชเตเดเตเดเตเดจเตเดจเต เดฎเตเดฎเตเดฎเดฑเดฟ เดคเตเตผเดจเตเดจเตเดชเตเดเตเด, โโเดธเดฟเดธเตเดฑเตเดฑเด เดเตเดฐเดพเดทเต เดเตเดฏเตเดฏเตเด. เดเดคเต เดคเดเดฏเดพเตป, OS เดเดฐเต เดชเตเดฐเตเดธเดธเตเดธเดฟเดจเดพเดฏเดฟ เดฎเตเดฎเตเดฎเดฑเดฟ เดฑเดฟเดธเตผเดตเต เดเตเดฏเตเดฏเตเดจเตเดจเต, เดชเดเตเดทเต เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ เด เดคเต เด เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเดฟเดฒเตเดฒ. เดเดฐเต เดชเตเดฐเตเดธเดธเตเดธเต เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ เด เดคเต เดเดชเดฏเตเดเดฟเดเตเดเดพเตป เดเดฆเตเดฆเตเดถเดฟเดเตเดเตเดจเตเดจเดชเตเดชเตเตพ เดฎเดพเดคเตเดฐเดฎเต เดฎเตเดฎเตเดฎเดฑเดฟ เด เดจเตเดตเดฆเดฟเดเตเดเต. เดเดฟเดฒเดชเตเดชเตเตพ OS-เดจเต เดธเตเดเดจเตเดฏ เดฎเตเดฎเตเดฎเดฑเดฟ เดเดฒเตเดฒ, เดชเดเตเดทเต เด เดคเต เดเดฐเต เดชเตเดฐเตเดธเดธเตเดธเดฟเดจเต เดฎเตเดฎเตเดฎเดฑเดฟ เด เดจเตเดตเดฆเดฟเดเตเดเตเด, เดเตเดเดพเดคเต เดชเตเดฐเตเดธเดธเตเดธเดฟเดจเต เด เดคเต เดเดตเดถเตเดฏเดฎเตเดณเตเดณเดชเตเดชเตเตพ, เดเดดเดฟเดฏเตเดฎเตเดเตเดเดฟเตฝ OS เด เดคเต เด เดจเตเดตเดฆเดฟเดเตเดเตเด. เดเดฟเดฒเดชเตเดชเตเตพ OS เดฎเตเดฎเตเดฎเดฑเดฟ เดฑเดฟเดธเตผเดตเต เดเตเดฏเตเดฏเตเดจเตเดจเต, เดชเดเตเดทเต เดเดตเดถเตเดฏเดฎเตเดณเตเดณเดชเตเดชเตเตพ, เดธเตเดเดจเตเดฏ เดฎเตเดฎเตเดฎเดฑเดฟ เดเดฒเตเดฒ, เดเดคเต เดธเดฟเดธเตเดฑเตเดฑเด เดเตเดฐเดพเดทเดฟเดจเต เดเดพเดฐเดฃเดฎเดพเดเตเดจเตเดจเต เดเดจเตเดจเดคเดพเดฃเต เดชเตเดฐเดพเดฏเตเดฎ. เด เดธเดพเดนเดเดฐเตเดฏเดคเตเดคเดฟเตฝ OOM เดเดฐเต เดชเตเดฐเดงเดพเดจ เดชเดเตเดเต เดตเดนเดฟเดเตเดเตเดจเตเดจเต, เดเตเตผเดฃเตฝ เดชเดฐเดฟเดญเตเดฐเดพเดจเตเดคเดฐเดพเดเตเดจเตเดจเดคเต เดคเดเดฏเดพเตป เดชเตเดฐเดเตเดฐเดฟเดฏเดเตพ เด เดตเดธเดพเดจเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเต. PostgreSQL เดชเตเดฐเตเดธเดธเตเดธเต เดจเดฟเตผเดฌเดจเตเดงเดฟเดคเดฎเดพเดฏเดฟ เด เดตเดธเดพเดจเดฟเดชเตเดชเดฟเดเตเดเตเดฎเตเดชเตเตพ, เดฒเตเดเดฟเตฝ เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดธเดจเตเดฆเตเดถเด เดฆเตเดถเตเดฏเดฎเดพเดเตเด:
Out of Memory: Killed process 12345 (postgres).เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเต เดฎเตเดฎเตเดฎเดฑเดฟ เดเตเดฑเดตเดพเดฃเตเดเตเดเดฟเตฝ เด
เดคเต เดธเตเดตเดคเดจเตเดคเตเดฐเดฎเดพเดเตเดเดพเตป เดเดดเดฟเดฏเตเดจเตเดจเดฟเดฒเตเดฒเตเดเตเดเดฟเตฝ, เดซเดเดเตเดทเดจเต เดตเดฟเดณเดฟเดเตเดเตเดจเตเดจเต out_of_memory. เด เดเดเตเดเดคเตเดคเดฟเตฝ, เด
เดตเตพเดเตเดเต เดเดฐเต เดเดพเดฐเตเดฏเด เดฎเดพเดคเตเดฐเดฎเต เดเตเดฏเตเดฏเดพเดจเตเดณเตเดณเต - เดเดจเตเดจเต เด
เดคเดฟเดฒเดงเดฟเดเดฎเต เดชเตเดฐเดเตเดฐเดฟเดฏเดเตพ เดชเตเตผเดคเตเดคเดฟเดฏเดพเดเตเดเตเด. OOM-เดเดฟเดฒเตเดฒเตผ เดเดเตป เดคเดจเตเดจเต เดชเตเดฐเดเตเดฐเดฟเดฏ เด
เดตเดธเดพเดจเดฟเดชเตเดชเดฟเดเตเดเดฃเดฎเต เด
เดคเต เดเดพเดคเตเดคเดฟเดฐเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเตเดฎเต? เดตเตเดฏเดเตเดคเดฎเดพเดฏเตเด, out_of_memory เดเดจเตเดจเต เดตเดฟเดณเดฟเดเตเดเดชเตเดชเตเดเตเดฎเตเดชเตเตพ, เด
เดคเต เดเดฐเต I/O เดเดชเตเดชเดฑเตเดทเดจเดพเดฏเดฟ เดเดพเดคเตเดคเดฟเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเดพเดฒเต เดกเดฟเดธเตเดเดฟเดฒเตเดเตเดเตเดณเตเดณ เดชเตเดเดฟเดเดเดฟเดฒเตเดเตเดเต เดเดฃเต. เด
เดคเดฟเดจเดพเตฝ, OOM เดเตเดฒเดฏเดพเดณเดฟ เดเดฆเตเดฏเด เดชเดฐเดฟเดถเตเดงเดจเดเตพ เดจเดเดคเตเดคเตเดเดฏเตเด เด
เดตเดฏเตเดเต เด
เดเดฟเดธเตเดฅเดพเดจเดคเตเดคเดฟเตฝ เดชเตเดฐเดเตเดฐเดฟเดฏ เด
เดตเดธเดพเดจเดฟเดชเตเดชเดฟเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเตเดจเตเดจเต เดคเตเดฐเตเดฎเดพเดจเดฟเดเตเดเตเดเดฏเตเด เดตเตเดฃเด. เดเตเดตเดเตเดฏเตเดณเตเดณ เดเดฒเตเดฒเดพ เดชเดฐเดฟเดถเตเดงเดจเดเดณเตเด เดชเตเดธเดฟเดฑเตเดฑเตเดตเต เดเดฃเตเดเตเดเดฟเตฝ, OOM เดชเตเดฐเดเตเดฐเดฟเดฏ เด
เดตเดธเดพเดจเดฟเดชเตเดชเดฟเดเตเดเตเด.
เดชเตเดฐเดเตเดฐเดฟเดฏ เดคเดฟเดฐเดเตเดเตเดเตเดเตเดเตฝ
เดฎเตเดฎเตเดฎเดฑเดฟ เดคเตเดฐเตเดฎเตเดชเตเตพ, เดซเดเดเตเดทเตป เดเดจเตเดจเต เดตเดฟเดณเดฟเดเตเดเตเดจเตเดจเต out_of_memory(). เด
เดคเดฟเดจเต เดเดฐเต เดซเดเตเดทเตป เดเดฃเตเดเต select_bad_process(), เดซเดเดเตเดทเดจเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดฐเต เดฎเตเดฒเตเดฏเดจเดฟเตผเดฃเตเดฃเดฏเด เดฒเดญเดฟเดเตเดเตเดจเตเดจเต badness(). "เดเดฑเตเดฑเดตเตเด เดฎเตเดถเดฎเดพเดฏ" เดชเตเดฐเดเตเดฐเดฟเดฏ เดฒเดเตเดทเตเดฏเดฎเดฟเดเตเดจเตเดจเต. เดซเดเดเตเดทเตป badness() เดเดฟเดฒ เดจเดฟเดฏเดฎเดเตเดเตพเดเตเดเดจเตเดธเตเดคเดฎเดพเดฏเดฟ เดเดฐเต เดชเตเดฐเดเตเดฐเดฟเดฏ เดคเดฟเดฐเดเตเดเตเดเตเดเตเดเตเดจเตเดจเต.
- เดเตเตผเดฃเดฒเดฟเดจเต เดเตเดฑเดเตเดเต เดฎเดฟเดจเดฟเดฎเด เดฎเตเดฎเตเดฎเดฑเดฟ เดเดตเดถเตเดฏเดฎเดพเดฃเต.
- เดจเดฟเดเตเดเตพ เดเดฐเตเดชเดพเดเต เดฎเตเดฎเตเดฎเดฑเดฟ เดธเตเดตเดคเดจเตเดคเตเดฐเดฎเดพเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต.
- เดเตเดฑเดเตเดเต เดฎเตเดฎเตเดฎเดฑเดฟ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจ เดชเตเดฐเดเตเดฐเดฟเดฏเดเตพ เด เดตเดธเดพเดจเดฟเดชเตเดชเดฟเดเตเดเตเดฃเตเด เดเดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ.
- เดฎเดฟเดจเดฟเดฎเด เดจเดเดชเดเดฟเดเตเดฐเดฎเดเตเดเตพ เดชเตเตผเดคเตเดคเดฟเดฏเดพเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต.
- เดเดชเดฏเตเดเตเดคเดพเดตเต เดคเดจเตเดจเต เดชเตเตผเดคเตเดคเดฟเดฏเดพเดเตเดเดพเตป เดเดเตเดฐเดนเดฟเดเตเดเตเดจเตเดจ เดชเตเดฐเดเตเดฐเดฟเดฏเดเตพ เดชเตเตผเดคเตเดคเดฟเดฏเดพเดเตเดเดพเดจเตเดณเตเดณ เดธเดพเดงเตเดฏเดค เดตเตผเดฆเตเดงเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจ เดธเดเตเดเตเตผเดฃเตเดฃเดฎเดพเดฏ เด เตฝเดเตเดฐเดฟเดคเดเตเดเตพ.
เด เดชเดฐเดฟเดถเตเดงเดจเดเดณเตเดฒเตเดฒเดพเด เดชเตเตผเดคเตเดคเดฟเดฏเดพเดเตเดเดฟเดฏ เดถเตเดทเด, OOM เดธเตเดเตเตผ เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเดจเตเดจเต (oom_score). OOM เด
เดธเตเตป เดเตเดฏเตเดฏเตเดจเตเดจเต oom_score เดเดฐเต เดชเตเดฐเดเตเดฐเดฟเดฏเดฏเตเด, เดคเตเดเตผเดจเตเดจเต เด เดฎเตเดฒเตเดฏเด เดฎเตเดฎเตเดฎเดฑเดฟเดฏเตเดเต เด
เดณเดตเต เดเตเดฃเตเดเต เดเตเดฃเดฟเดเตเดเตเดจเตเดจเต. เดตเดฒเดฟเดฏ เดฎเตเดฒเตเดฏเดเตเดเดณเตเดณเตเดณ เดชเตเดฐเดเตเดฐเดฟเดฏเดเตพ OOM เดเดฟเดฒเตเดฒเดฑเดฟเดจเต เดเดฐเดฏเดพเดเดพเดจเตเดณเตเดณ เดธเดพเดงเตเดฏเดค เดเตเดเตเดคเดฒเดพเดฃเต. เดฑเตเดเตเดเต เดฏเตเดธเดฑเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเตเดเตเด เดชเตเดฐเดเตเดฐเดฟเดฏเดเตพเดเตเดเต เดเตเดฑเดเตเด เดธเตเดเตเตผ เดเดฃเตเดเต, เด
เดคเต เด
เดตเดธเดพเดจเดฟเดชเตเดชเดฟเดเตเดเดพเตป เดจเดฟเตผเดฌเดจเตเดงเดฟเดคเดฐเดพเดเดพเดจเตเดณเตเดณ เดธเดพเดงเตเดฏเดค เดเตเดฑเดตเดพเดฃเต.
postgres=# SELECT pg_backend_pid();
pg_backend_pid
----------------
3813
(1 row)Postgres เดชเตเดฐเตเดธเดธเตเดธเต เดเดกเดฟ 3813 เดเดฃเต, เด
เดคเดฟเดจเดพเตฝ เดฎเดฑเตเดฑเตเดฐเต เดทเตเดฒเตเดฒเดฟเตฝ เด เดเตเตผเดฃเตฝ เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเตผ เดเดชเดฏเตเดเดฟเดเตเดเต เดธเตเดเตเตผ เดจเตเดเดพเดจเดพเดเตเด oom_score:
vagrant@vagrant:~$ sudo cat /proc/3813/oom_score
2OOM-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() เดชเตเดฐเตเดธเดธเตเดธเดฟเดฒเตเดเตเดเต เดเดฐเต SIGKILL เดธเดฟเดเตเดจเตฝ เด
เดฏเดฏเตโเดเตเดเดพเตป เด เดซเดเดเตโเดทเดจเต เดตเดฟเดณเดฟเดเตเดเตเดจเตเดจเต. เดเตเตผเดฃเตฝ เดฒเตเดเดฟเดฒเตเดเตเดเต เดเดฐเต เดธเดจเตเดฆเตเดถเด เดเดดเตเดคเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต.
Out of Memory: Killed process [pid] [name].OOM-เดเดฟเดฒเตเดฒเตผ เดเดเตเดเดจเต เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเดเตเดเดพเด
ะ Linux เดจเดฟเดเตเดเตพเดเตเดเต OOM-Killer เดชเตเดฐเดพเดชเตเดคเดฎเดพเดเตเดเดพเดจเต เด
เดชเตเดฐเดพเดชเตเดคเดฎเดพเดเตเดเดพเดจเต เดเดดเดฟเดฏเตเด (เดฐเดฃเตเดเดพเดฎเดคเตเดคเตเดคเต เดถเตเดชเดพเตผเดถ เดเตเดฏเตเดฏเตเดจเตเดจเดฟเดฒเตเดฒเตเดเตเดเดฟเดฒเตเด). เดเดคเต เดชเตเดฐเดพเดชเตเดคเดฎเดพเดเตเดเดพเดจเต เด
เดชเตเดฐเดพเดชเตเดคเดฎเดพเดเตเดเดพเดจเต, เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเตผ เดเดชเดฏเตเดเดฟเดเตเดเตเด. vm.oom-kill. เดฑเตบเดเตเดฎเดฟเตฝ OOM-เดเดฟเดฒเตเดฒเตผ เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดทเดฎเดฎเดพเดเตเดเดพเตป, เดเดฎเดพเตปเดกเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเด sysctl.
sudo -s sysctl -w vm.oom-kill = 1OOM-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-เดเดฟเดฒเตเดฒเตผ เดเดฃเดพเดเตเดเดพเดจเตเด เดเดซเดพเดเตเดเดพเดจเตเด เดเดดเดฟเดฏเตเด. Linux เดฒเดญเตเดฏเดฎเดพเดฏเดคเดฟเดจเตเดเตเดเดพเตพ เดเตเดเตเดคเตฝ เดฎเตเดฎเตเดฎเดฑเดฟ เดชเตเดฐเตเดธเดธเตเดธเตเดเตพเดเตเดเดพเดฏเดฟ เดเดฐเตเดคเดฟเดตเดเตเดเตเดเตเดเดพเด, เดชเดเตเดทเต เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ เด
เดคเต เด
เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเดฟเดฒเตเดฒ, เดเตเดเดพเดคเต เด เดธเตเดตเดญเดพเดตเด เดเดฐเต เดเตเตผเดฃเตฝ เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเดฑเดพเดฃเต เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเดเตเดเตเดจเตเดจเดคเต. Linuxเดเดคเดฟเดจเต เดตเตเดฐเดฟเดฏเดฌเดฟเตพ เดเดคเตเดคเดฐเดตเดพเดฆเดฟเดฏเดพเดฃเต. vm.overcommit_memory.
เด เดคเดฟเดจเดพเดฏเดฟ เดจเดฟเดเตเดเตพเดเตเดเต เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดฎเตเดฒเตเดฏเดเตเดเตพ เดตเตเดฏเดเตเดคเดฎเดพเดเตเดเดพเตป เดเดดเดฟเดฏเตเด:
0: เดตเดณเดฐเตเดฏเดงเดฟเดเด เดฎเตเดฎเตเดฎเดฑเดฟ เดฑเดฟเดธเตผเดตเต เดเตเดฏเตเดฏเดฃเต เดตเตเดฃเตเดเดฏเต เดเดจเตเดจเต เดเตเตผเดฃเตฝ เดคเดจเตเดจเตเดฏเดพเดฃเต เดคเตเดฐเตเดฎเดพเดจเดฟเดเตเดเตเดจเตเดจเดคเต. เดฎเดฟเดเตเด เดชเดคเดฟเดชเตเดชเตเดเดณเดฟเดฒเตเด เดเดคเต เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟ เดฎเตเดฒเตเดฏเดฎเดพเดฃเต. Linux.
1: เดเตเตผเดฃเตฝ เดเดชเตเดชเตเดดเตเด เด
เดงเดฟเด เดฎเตเดฎเตเดฎเดฑเดฟ เดฑเดฟเดธเตผเดตเต เดเตเดฏเตเดฏเตเด. เดเดคเต เด
เดชเดเดเดเดฐเดฎเดพเดฃเต, เดเดพเดฐเดฃเด เดฎเตเดฎเตเดฎเดฑเดฟ เดคเตเตผเดจเตเดจเตเดชเตเดฏเตเดเตเดเดพเด, เดเดพเดฐเดฃเด, เดฎเดฟเดเตเดเดตเดพเดฑเตเด, เดเดฐเต เดฆเดฟเดตเดธเด เดชเตเดฐเดเตเดฐเดฟเดฏเดเตพเดเตเดเต เด
เดคเต เดเดตเดถเตเดฏเดฎเดพเดฏเดฟ เดตเดฐเตเด.
2: เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเดฑเดฟเตฝ เดชเดฑเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดเตเดเดพเตพ เดเตเดเตเดคเตฝ เดฎเตเดฎเตเดฎเดฑเดฟ เดเตเตผเดฃเตฝ เดฑเดฟเดธเตผเดตเต เดเตเดฏเตเดฏเดฟเดฒเตเดฒ overcommit_ratio.
เด เดชเดฐเดพเดฎเตเดฑเตเดฑเตผ เดเดชเดฏเตเดเดฟเดเตเดเต, เดเดตเตผ เดฑเดฟเดธเตผเดตเต เดเตเดฏเตเดฏเดพเตป เด
เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจ เดฎเตเดฎเตเดฎเดฑเดฟเดฏเตเดเต เดถเดคเดฎเดพเดจเด เดจเดฟเดเตเดเตพ เดตเตเดฏเดเตเดคเดฎเดพเดเตเดเตเดจเตเดจเต. เด
เดคเดฟเดจเต เดเดเดฎเดฟเดฒเตเดฒเตเดเตเดเดฟเตฝ, เดฎเตเดฎเตเดฎเดฑเดฟ เด
เดจเตเดตเดฆเดฟเดเตเดเดฟเดฒเตเดฒ, เดธเดเดตเดฐเดฃเด เดจเดฟเดทเตเดงเดฟเดเตเดเดชเตเดชเตเดเตเด. PostgreSQL-เดจเต เดถเตเดชเดพเตผเดถ เดเตเดฏเตเดฏเตเดจเตเดจ เดเดฑเตเดฑเดตเตเด เดธเตเดฐเดเตเดทเดฟเดคเดฎเดพเดฏ เดเดชเตเดทเดจเดพเดฃเดฟเดคเต. OOM-เดเดฟเดฒเตเดฒเดฑเดฟเดจเต เดฎเดฑเตเดฑเตเดฐเต เดเดเดเด เดฌเดพเดงเดฟเดเตเดเตเดจเตเดจเต - เดตเตเดฐเดฟเดฏเดฌเดฟเตพ เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเดเตเดเตเดจเตเดจ เดธเตเดตเดพเดชเตเดชเดฟเดเดเต เดเดดเดฟเดตเต cat /proc/sys/vm/swappiness. เดชเตเดเดฟเดเดเต เดเดเตเดเดจเต เดเตเดเดพเดฐเตเดฏเด เดเตเดฏเตเดฏเดฃเดฎเตเดจเตเดจเต เด เดฎเตเดฒเตเดฏเดเตเดเตพ เดเตเตผเดฃเดฒเดฟเดจเตเดเต เดชเดฑเดฏเตเดจเตเดจเต. เดเดฏเตผเดจเตเดจ เดฎเตเดฒเตเดฏเด, OOM เดชเตเดฐเดเตเดฐเดฟเดฏ เด
เดตเดธเดพเดจเดฟเดชเตเดชเดฟเดเตเดเดพเดจเตเดณเตเดณ เดธเดพเดงเตเดฏเดค เดเตเดฑเดตเดพเดฃเต, เดชเดเตเดทเต I/O เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเตพ เดเดพเดฐเดฃเด เดเดคเต เดกเดพเดฑเตเดฑเดพเดฌเตเดธเดฟเตฝ เดชเตเดฐเดคเดฟเดเตเดฒ เดธเตเดตเดพเดงเตเดจเด เดเตเดฒเตเดคเตเดคเตเดจเตเดจเต. เดคเดฟเดฐเดฟเดเตเดเตเด - เดเตเดฑเดเตเด เดฎเตเดฒเตเดฏเด, OOM-เดเดฟเดฒเตเดฒเตผ เดเดเดชเตเดเดฒเดฟเดจเตเดณเตเดณ เดธเดพเดงเตเดฏเดค เดเตเดเตเดคเดฒเดพเดฃเต, เดชเดเตเดทเต เดกเดพเดฑเตเดฑเดพเดฌเตเดธเต เดชเตเดฐเดเดเดจเดตเตเด เดเตเดเตเดคเดฒเดพเดฃเต. เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟ เดฎเตเดฒเตเดฏเด 60 เดเดฃเต, เดเดจเตเดจเดพเตฝ เดฎเตเดดเตเดตเตป เดกเดพเดฑเตเดฑเดพเดฌเตเดธเตเด เดฎเตเดฎเตเดฎเดฑเดฟเดฏเดฟเตฝ เดฏเตเดเดฟเดเตเดเตเดจเตเดจเตเดตเตเดเตเดเดฟเตฝ, เดฎเตเดฒเตเดฏเด 1 เดเดฏเดฟ เดธเดเตเดเตเดเดฐเดฟเดเตเดเตเดจเตเดจเดคเดพเดฃเต เดจเดฒเตเดฒเดคเต.
เดซเดฒเดเตเดเตพ
OOM-เดเดฟเดฒเตเดฒเดฑเดฟเดฒเต "เดเตเดฒเดฏเดพเดณเดฟ" เดจเดฟเดเตเดเดณเต เดญเดฏเดชเตเดชเตเดเตเดคเตเดคเดพเตป เด
เดจเตเดตเดฆเดฟเดเตเดเดฐเตเดคเต. เด เดธเดพเดนเดเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดเตเดฒเดฏเดพเดณเดฟ เดจเดฟเดเตเดเดณเตเดเต เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเตเดฑเต เดฐเดเตเดทเดเดจเดพเดฏเดฟเดฐเดฟเดเตเดเตเด. เดเดคเต เดเดฑเตเดฑเดตเตเด เดฎเตเดถเด เดชเตเดฐเดเตเดฐเดฟเดฏเดเดณเต "เดเตเดฒเตเดฒเตเดจเตเดจเต" เดเตเดเดพเดคเต เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเต เดเตเดฐเดพเดทเดฟเตฝ เดจเดฟเดจเตเดจเต เดฐเดเตเดทเดฟเดเตเดเตเดจเตเดจเต. PostgreSQL เด
เดตเดธเดพเดจเดฟเดชเตเดชเดฟเดเตเดเดพเตป OOM-Killer เดเดชเดฏเตเดเดฟเดเตเดเตเดฃเตเดเดฟเดตเดฐเตเดจเตเดจเดคเต เดเดดเดฟเดตเดพเดเตเดเดพเตป, เดเดคเดฟเดจเดพเดฏเดฟ เดธเดเตเดเดฎเดพเดเตเดเตเด vm.overcommit_memory เดฎเตเดฒเตเดฏเด 2. OOM-เดเดฟเดฒเตเดฒเตผ เดเดเดชเตเดเตเดฃเตเดเดคเดฟเดฒเตเดฒเตเดจเตเดจเต เดเดคเต เดเดฑเดชเตเดชเตเดจเตฝเดเตเดจเตเดจเดฟเดฒเตเดฒ, เดชเดเตเดทเต เดเดคเต PostgreSQL เดชเตเดฐเดเตเดฐเดฟเดฏ เด
เดตเดธเดพเดจเดฟเดชเตเดชเดฟเดเตเดเดพเตป เดจเดฟเตผเดฌเดจเตเดงเดฟเดคเดฎเดพเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดธเดพเดงเตเดฏเดค เดเตเดฑเดฏเตเดเตเดเตเด.
เด เดตเดฒเดเดฌเด: www.habr.com
