เชเซเชฏเชพเชฐเซ Linux เชฎเชพเช เชกเซเชเชพเชฌเซเช เชธเชฐเซเชตเชฐ เช เชฃเชงเชพเชฐเซ เชฐเซเชคเซ เชเซเชกเซ เชฆเซ เชเซ, เชคเซเชฏเชพเชฐเซ เชคเชฎเชพเชฐเซ เชคเซเชจเซเช เชเชพเชฐเชฃ เชถเซเชงเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ. เชคเซเชจเชพ เช เชจเซเช เชเชพเชฐเชฃเซ เชนเซเช เชถเชเซ เชเซ. เชฆเชพเชเซเชฒเชพ เชคเชฐเซเชเซ, SIGSEGV โ เชฌเซเชเชเชจเซเชก เชธเชฐเซเชตเชฐเชฎเชพเช เชญเซเชฒเชจเซ เชเชพเชฐเชฃเซ เชจเชฟเชทเซเชซเชณเชคเชพ. เชชเชฐเชเชคเซ เช เชฆเซเชฐเซเชฒเชญ เชเซ. เชฎเซเชเซ เชญเชพเชเซ, เชคเชฎเชพเชฐเซ เชชเชพเชธเซ เชเชพเชฒเซ เชกเชฟเชธเซเช เชเชเซเชฏเชพ เช เชฅเชตเชพ เชฎเซเชฎเชฐเซ เชธเชฎเชพเชชเซเชค เชฅเช เชเชพเชฏ เชเซ. เชเซ เชคเชฎเชพเชฐเซ เชกเชฟเชธเซเช เชธเซเชชเซเชธ เชธเชฎเชพเชชเซเชค เชฅเช เชเชพเชฏ, เชคเซ เชเช เช เชฐเชธเซเชคเซ เชเซ - เชเชเซเชฏเชพ เชเชพเชฒเซ เชเชฐเซ เช เชจเซ เชกเซเชเชพเชฌเซเชเชจเซ เชชเซเชจเชเชชเซเชฐเชพเชฐเชเชญ เชเชฐเซ.
เชเชเช-เชเชซ-เชฎเซเชฎเชฐเซ เชเชฟเชฒเชฐ
เชเซเชฏเชพเชฐเซ เชธเชฐเซเชตเชฐ เช เชฅเชตเชพ เชชเซเชฐเชเซเชฐเชฟเชฏเชพเชจเซ เชฎเซเชฎเชฐเซ เชธเชฎเชพเชชเซเชค เชฅเชพเชฏ เชเซ, เชคเซเชฏเชพเชฐเซ Linux 2 เชเชเซเชฒเซ เชชเซเชฐเชฆเชพเชจ เชเชฐเซ เชเซ: เชธเชฎเชเซเชฐ เชธเชฟเชธเซเชเชฎเชจเซ เชเซเชฐเซเชถ เชเชฐเซ เช เชฅเชตเชพ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ (เชเชชเซเชฒเชฟเชเซเชถเชจ) เชเซ เชเซ เชฎเซเชฎเชฐเซเชจเซ เชเชพเช เชฐเชนเซ เชเซ เชคเซเชจเซ เชธเชฎเชพเชชเซเชค เชเชฐเซ. เช เชฒเชฌเชคเซเชค, เชชเซเชฐเชเซเชฐเชฟเชฏเชพเชจเซ เชธเชฎเชพเชชเซเชค เชเชฐเชตเซ เช เชจเซ 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 = 1
OOM-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 เชเชฐเซเชจเชฒ เชชเซเชฐเชพเชฎเซเชเชฐ เชฆเซเชตเชพเชฐเชพ เชจเชฟเชฏเชเชคเซเชฐเชฟเชค เชฅเชพเชฏ เชเซ. เช เชฎเชพเชเซ เชเชฒ เชเชตเชพเชฌเชฆเชพเชฐ เชเซ 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