
เชเซเชฏเชพเชฐเซ เชฎเชพเช 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 เชชเซเชฐเชเซเชฐเชฟเชฏเชพ ID 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-Killer เชซเชเชเซเชถเชจเชจเซ เชเซเชฒ เชเชฐเซ เชเซ 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
