
เปเบกเบทเปเบญเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบญเบเบเบฒเบเบเปเปเบกเบนเบเปเบเบปเบฒเปเบเบเบเปเปเบเบฒเบเบเบดเบเปเบ Linux, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบญเบเบซเบฒเปเบซเบเบเบปเบ. เบญเบฒเบเบเบฐเบกเบตเปเบซเบเบเบปเบเบซเบผเบฒเบเบขเปเบฒเบ. เบเบปเบโเบเบปเบงโเบขเปเบฒเบ, SIGSEGV โ เบเบงเบฒเบกโเบฅเบปเปเบกโเปเบซเบผเบงโเปเบเบทเปเบญเบโเบเบฒเบ bug เปเบโเปเบเบตเบโเปเบงเบต backend. เปเบเปเบเบตเปเปเบกเปเบเบซเบฒเบเบฒเบ. เบชเปเบงเบเบซเบผเบฒเบเบกเบฑเบ, เบเปเบฒเบเบเบฝเบเปเบเปเบซเบกเบปเบเบเบทเปเบเบเบตเปเบเบดเบเบซเบผเบทเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒ. เบเปเบฒเปเบเบปเปเบฒเปเบปเบเบเบทเปเบเบเบตเปเบเบดเบชเบเป, เบกเบตเบเบฒเบเบเบฝเบงเบญเบญเบ - free up space and restart the database .
เบเบฑเบเบเปเบฒเบเบงเบฒเบกเบเบปเบเบเบณเบเบญเบ
เปเบกเบทเปเบญเปเบเบปเปเบฒ เปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ เปเบกเบทเปเบญเปเบเบตเบเบชเบฐเบเบฒเบเบฐเบเบฒเบเบเบตเปเบเปเปเปเบเปเปเปเบงเบเบเบงเบฒเบกเบเบณ เบซเบผเบท เบเบฐเบเบงเบเบเบฒเบเปเบปเบเปเปเบงเบเบเบงเบฒเบกเบเบณ, Linux เบชเบฐเปเปเบตเบชเบญเบเบงเบดเบเบตเปเบเปเปเบเบเบท: เปเบฎเบฑเบเปเบซเปเบฅเบฐเบเบปเบเบเบฑเบเปเบปเบเบเบฑเบเบเปเบญเบ เบซเบผเบท เบขเบธเบเบเบฐเบเบงเบเบเบฒเบ (เปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ) เบเบตเปเบเบดเบเปเปเบงเบเบเบงเบฒเบกเบเบณ. เปเบเปเบเบญเบ, เบกเบฑเบเบเบตเบเบงเปเบฒเบเบตเปเบเบฐเบขเบธเบเบเบฐเบเบงเบเบเบฒเบ เปเบฅเบฐ เบเปเบงเบเบเบฐเบขเบฑเบเบฅเบฐเบเบปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเบฒเบเบเบฒเบเบเบฑเบเบเปเบญเบ. เบชเบฐเบซเบผเบธเบเปเบฅเปเบง, Out-Of-Memory Killer เปเบกเปเบเบเบฐเบเบงเบเบเบฒเบเบเบตเปเบขเบธเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเปเบเบทเปเบญเบเปเบงเบเบเบฐเบขเบฑเบ kernel เบเบฒเบเบเบฒเบเบเบฑเบเบเปเบญเบ. เบกเบฑเบเปเบชเบเบชเบฐเบฅเบฐเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเปเบเบทเปเบญเบฎเบฑเบเบชเบฒเบฅเบฐเบเบปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเปเบซเปเปเบฎเบฑเบเบงเบฝเบ. เบเปเบญเบเบญเบทเปเบเปเบปเบ, เปเบซเปเบเบงเบเปเบฎเบปเบฒเบชเบปเบเบเบฐเบเบฒเบเปเบฝเบงเบเบฑเบเบงเบดเบเบตเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบญเบ OOM เปเบฅเบฐเบงเบดเบเบตเบเบฒเบเบเบงเบเบเบธเบกเบกเบฑเบ, เปเบฅเบฐเบเบฒเบเบเบฑเปเบเปเบเบดเปเบเบงเปเบฒ OOM Killer เบเบฑเบเบชเบดเบเปเบเบงเปเบฒเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเปเบเบเบตเปเบเบฐเบขเบธเบ.
เบซเบเบถเปเบเปเบเบงเบฝเบเบเบฒเบเบเบปเปเบเบเปเบเบญเบ Linux เปเบกเปเบเบเบฒเบเบเบฑเบเบชเบฑเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเปเบซเปเบเบฑเบเบเบฐเบเบงเบเบเบฒเบเปเบเปเบงเบฅเบฒเบเบตเปเบเบงเบเปเบเบปเบฒเบฎเปเบญเบเบเปเปเบญเบปเบฒเบกเบฑเบ. เปเบเบเบเบปเบเบเบฐเบเบด, เบเบฐเบเบงเบเบเบฒเบเบซเบผเบทเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบฐเบฎเปเบญเบเบเปเบเบงเบฒเบกเบเบปเบเบเปเบฒเบเบฒเบ OS, เปเบเปเบเปเปเปเบเปเปเบเปเบกเบฑเบเบขเปเบฒเบเปเบเบฑเบกเบเบตเป. เบเปเบฒ OS เบเปเบญเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเปเบซเปเบเบฑเบเบเบธเบเบเบปเบเบเบตเปเบเปเปเบเปเบเปเปเบกเบตเปเบเบเบเบตเปเบเบฐเปเบเปเบกเบฑเบ, เปเบเปเบงเปเบเบตเปเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบเบฐเบซเบกเบปเบเปเบเปเบฅเบฐเบฅเบฐเบเบปเบเบเบฐเบฅเบปเปเบกเปเบซเบฅเบง. เปเบเบทเปเบญเบซเบผเบตเบเปเบงเบฑเปเบเบเบฒเบเบเบตเป, OS เบชเบฐเบซเบเบงเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบชเปเบฒเบฅเบฑเบเบเบฐเบเบงเบเบเบฒเบ, เปเบเปเบเบปเบงเบเบดเบเปเบฅเปเบงเบเปเปเปเบเปเบเปเบญเบเบกเบฑเบ. เบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเปเบเปเบเบทเบเบเบฑเบเบชเบฑเบเบเบฝเบเปเบเปเปเบกเบทเปเบญเบเบฐเบเบงเบเบเบฒเบเบเบตเปเบเบฐเปเบเปเบกเบฑเบ. เบกเบฑเบเปเบเบตเบเบเบทเปเบเบงเปเบฒ OS เบเปเปเบกเบตเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบเบฃเบต, เปเบเปเบกเบฑเบเบกเบญเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเปเบซเปเบเบฑเบเบเบฐเบเบงเบเบเบฒเบ, เปเบฅเบฐเปเบกเบทเปเบญเบเบฐเบเบงเบเบเบฒเบเบเปเบญเบเบเบฒเบเบกเบฑเบ, OS เบเบฐเบเบฑเบเบชเบฑเบเบกเบฑเบเบเปเบฒเบกเบฑเบเบชเบฒเบกเบฒเบเปเบฎเบฑเบเปเบเป. เบเปเปเปเบชเบเปเบกเปเบเบงเปเบฒเบเบฒเบเบเบฑเปเบ OS เบชเบฐเบซเบเบงเบเบเบงเบฒเบกเบเบปเบเบเปเบฒ, เปเบเปเปเบเปเบงเบฅเบฒเบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบกเบเปเปเบกเบตเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบเบฃเบต, เปเบฅเบฐเบฅเบฐเบเบปเบเบเบฑเบเบเปเบญเบ. OOM เบกเบตเบเบปเบเบเบฒเบเบชเปเบฒเบเบฑเบเปเบเบชเบฐเบเบฒเบเบฐเบเบฒเบเบเบตเปเปเบฅเบฐเบขเบธเบเบเบฐเบเบงเบเบเบฒเบเปเบเบทเปเบญเบเปเบญเบเบเบฑเบเบเปเปเปเบซเป kernel panicking. เปเบกเบทเปเบญเบเบฐเบเบงเบเบเบฒเบ PostgreSQL เบเบทเบเบเบฑเบเบเบฑเบเปเบซเปเบขเบธเบเปเบเบปเบฒ, เบเปเปเบเบงเบฒเบกเบเบฐเบเบฒเบเบปเบเบขเบนเปเปเบเบเบฑเบเบเบถเบ:
Out of Memory: Killed process 12345 (postgres).เบเปเบฒเบฅเบฐเบเบปเบเบกเบตเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบเปเปเบฒเปเบฅเบฐเบเปเปเบชเบฒเบกเบฒเบเบเบปเบเบเปเบญเบเปเบเป, เบเบฑเบเบเบฑเบเปเบญเบตเปเบเบงเปเบฒ out_of_memory. เปเบเบเบฑเปเบเบเบญเบเบเบตเป, เบเบฒเบเบกเบตเบเบฝเบเปเบเปเบชเบดเปเบเบเบฝเบงเบเบตเปเบเบฐเปเบฎเบฑเบ - เบชเปเบฒเปเบฅเบฑเบเบซเบเบถเปเบเบซเบผเบทเบซเบผเบฒเบเบเบฐเบเบงเบเบเบฒเบ. OOM-killer เบเบงเบเบขเบธเบเบเบฐเบเบงเบเบเบฒเบเบเบฑเบเบเบตเบซเบผเบทเบชเบฒเบกเบฒเบเบฅเปเบเปเบฒเปเบเปเบเป? เปเบเปเบเบญเบ, เปเบกเบทเปเบญ out_of_memory เบเบทเบเปเบญเบตเปเบ, เบกเบฑเบเปเบกเปเบเปเบเบทเปเบญเบเบกเบฒเบเบฒเบเบเบฒเบเบฅเปเบเปเบฒเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบ I/O เบซเบผเบท paging เบเบฑเบเปเบเปเบ. เบเบฑเปเบเบเบฑเปเบ, เบเบนเปเบเปเบฒ OOM เบเปเบฒเบญเบดเบเบเปเบญเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเบงเบเบชเบญเบเปเบฅเบฐ, เปเบเบเบญเบตเบเปเบชเปเบเบงเบเบกเบฑเบ, เบเบฑเบเบชเบดเบเปเบเบงเปเบฒเบเบฐเบเบงเบเบเบฒเบเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเบขเบธเบเปเบเบปเบฒ. เบเปเบฒเบเบฒเบเบเบงเบเบชเบญเบเบเบฑเบเบซเบกเบปเบเบเปเบฒเบเบฅเบธเปเบกเบเบตเปเปเบกเปเบเปเบเบฑเบเบเบงเบ, OOM เบเบฐเบชเบดเปเบเบชเบธเบเบเบฐเบเบงเบเบเบฒเบ.
เบเบฒเบเบเบฑเบเปเบฅเบทเบญเบเบเบฐเบเบงเบเบเบฒเบ
เปเบกเบทเปเบญเปเปเบงเบเบเบงเบฒเบกเบเบณเปเบปเบ, เบเบฑเบเบเบฑเบเบเบทเบเปเบญเบตเปเบ out_of_memory(). เบกเบฑเบเบกเบตเบซเบเปเบฒเบเบตเป select_bad_process(), เปเบเบดเปเบเปเบเปเบฎเบฑเบเบเบฒเบเบเบฐเปเบกเบตเบเบเบปเบเบเบฒเบเบซเบเปเบฒเบเบตเป badness(). เบเบฐเบเบงเบเบเบฒเบ "เบฎเปเบฒเบเปเบฎเบเบเบตเปเบชเบธเบ" เบเบฐเบเบทเบเปเบเบปเปเบฒเบซเบกเบฒเบ. เบเบฑเบเบเบฑเบ badness() เปเบฅเบทเบญเบเบเบฐเบเบงเบเบเบฒเบเบเบฒเบกเบเบปเบเบฅเบฐเบเบฝเบเบเบตเปเปเบเปเบเบญเบ.
- kernel เบเปเบญเบเบเบฒเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบเบฑเปเบเบเปเปเบฒเบเบฒเบเบขเปเบฒเบเบชเปเบฒเบฅเบฑเบเบเบปเบงเบกเบฑเบเปเบญเบ.
- เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเบตเปเบกเบเบงเบฒเบกเบเปเบฒเบซเบผเบฒเบ.
- เบเปเปเบเปเบฒเปเบเบฑเบเบเปเบญเบเบขเบธเบเปเบเบปเบฒเบเบฐเบเบงเบเบเบฒเบเบเบตเปเปเบเปเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบเบฝเบเปเบฅเบฑเบเบเปเบญเบ.
- เบเบฐเบเบงเบเบเบฒเบเบเบฑเปเบเบเปเปเบฒเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเบชเปเบฒเปเบฅเบฑเบ.
- เบชเบนเบเบเบฒเบเบเบดเบเปเบฅเปเบเบตเปเบเบฑเบเบเปเบญเบเบเบตเปเปเบเบตเปเบกเปเบญเบเบฒเบเบเบญเบเบเบฒเบเบชเปเบฒเปเบฅเบฑเบเบชเปเบฒเบฅเบฑเบเบเบฐเบเบงเบเบเบฒเบเปเบซเบผเบปเปเบฒเบเบฑเปเบเบเบตเปเบเบนเปเปเบเปเปเบญเบเบเปเบญเบเบเบฒเบเบชเปเบฒเปเบฅเบฑเบ.
เบซเบผเบฑเบเบเบฒเบเบชเปเบฒเปเบฅเบฑเบเบเบฒเบเบเบงเบเบชเบญเบเบเบฑเบเบซเบกเบปเบเปเบซเบผเบปเปเบฒเบเบตเป, OOM เบเบงเบเปเบเบดเปเบเบเบฐเปเบเบ (oom_score). OOM เปเบเปเบเบเบฑเปเบ oom_score เปเบเปเบฅเบฐเบเบฐเบเบงเบเบเบฒเบ, เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบนเบเบเปเบฒเบเบตเปเบเปเบงเบเบเปเบฒเบเบงเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒ. เบเบฐเบเบงเบเบเบฒเบเบเบตเปเบกเบตเบเปเบฒเปเบซเบเปเบเบงเปเบฒเบกเบตเปเบเบงเปเบเปเบกเบเบตเปเบเบฐเบเบปเบเปเบเบฑเบเปเบซเบเบทเปเบญเบเบญเบ OOM Killer. เบเบฐเบเบงเบเบเบฒเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบนเปเปเบเปเบฎเบฒเบเบกเบตเบเบฐเปเบเบเบเปเปเบฒเปเบฅเบฐเบซเบเปเบญเบเบเบตเปเบเบฐเบเบทเบเบเบฑเบเบเบฑเบเปเบซเปเบขเบธเบเปเบเบปเบฒ.
postgres=# SELECT pg_backend_pid();
pg_backend_pid
----------------
3813
(1 row)ID เบเบฐเบเบงเบเบเบฒเบ Postgres เปเบกเปเบ 3813, เบเบฑเปเบเบเบฑเปเบเปเบเปเบเบฐเบญเบทเปเบเบกเบฑเบเปเบเบฑเบเปเบเปเบเปเบเบตเปเบเบฐเปเบเปเบฎเบฑเบเบเบฐเปเบเบเปเบเบเปเบเปเบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบ kernel เบเบตเป. 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 เปเบเบซเบฒเบเบฐเบเบงเบเบเบฒเบ. เบเปเปเบเบงเบฒเบกเบเบทเบเบเบฝเบเปเบชเปเบเบฑเบเบเบถเบ kernel.
Out of Memory: Killed process [pid] [name].เบงเบดเบเบตเบเบฒเบเบเบงเบเบเบธเบก OOM-Killer
เปเบ Linux, เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบตเบเปเบเปเบซเบผเบทเบเบดเบเบเบฒเบเปเบเปเบเบฒเบ OOM-Killer (เปเบเบดเบเปเบกเปเบเบงเปเบฒเบญเบฑเบเบชเบธเบเบเปเบฒเบเปเบกเปเบเบเปเปเปเบเปเปเบเบฐเบเปเบฒ). เปเบเบทเปเบญเปเบเบตเบเปเบเปเบซเบผเบทเบเบดเบเบเบฒเบเปเบเปเบเบฒเบ, เปเบซเปเปเบเปเบเบฒเบฅเบฒเบกเบดเปเบเบต vm.oom-kill. เปเบเบทเปเบญเปเบเบตเบเปเบเป OOM-Killer เปเบเปเบงเบฅเบฒเปเบฅเปเบ, เบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบชเบฑเปเบ sysctl.
sudo -s sysctl -w vm.oom-kill = 1เปเบเบทเปเบญเบเบดเบเบเบฒเบเปเบเปเบเบฒเบ OOM-Killer, เปเบซเปเบฅเบฐเบเบธเบเปเบฒ 0 เปเบเบเปเบฒเบชเบฑเปเบเบเบฝเบงเบเบฑเบ:
sudo -s sysctl -w vm.oom-kill = 0เบเบปเบเปเบเปเบฎเบฑเบเบเบญเบเบเปเบฒเบชเบฑเปเบเบเบตเปเบเบฐเบเปเปเบเบทเบเบเบฑเบเบเบถเบเปเบงเปเบเบฐเบซเบผเบญเบเปเบ, เปเบเปเบงเปเบฒเบเบฝเบเปเบเปเบเบปเบเบเปเบงเบฒ reboot เบเปเบฒเบญเบดเบ. เบเปเบฒเบเปเบฒเบเบเปเบญเบเบเบฒเบเบเบงเบฒเบกเบเบปเบเบเบปเบเบซเบผเบฒเบ, เปเบเบตเปเบกเปเบชเบฑเปเบเบเบตเปเปเบชเปเปเบเบฅเป /etc/sysctl.conf:
echo vm.oom-kill = 1 >>/etc/sysctl.confเบญเบตเบเบงเบดเบเบตเบซเบเบถเปเบเบเบตเปเบเบฐเปเบเบตเบเปเบเปเปเบฅเบฐเบเบดเบเบเบฒเบเปเบเปเบเบฒเบเปเบกเปเบเบเบฒเบเบเบฝเบเบเบปเบงเปเบ panic_on_oom. เบกเบนเบเบเปเบฒเบชเบฒเบกเบฒเบเบเบงเบเบชเบญเบเปเบเปเบเบฐเบซเบผเบญเบเปเบงเบฅเบฒ /proc.
$ cat /proc/sys/vm/panic_on_oom
0เบเปเบฒเบเปเบฒเบเบเบฑเปเบเบเปเบฒเปเบเบฑเบ 0, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เปเบกเบทเปเบญเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบซเบกเบปเบ, เบเบฐเบเปเปเบกเบตเบเบงเบฒเบกเปเบเบเปเบ kernel.
$ echo 0 > /proc/sys/vm/panic_on_oomเบเปเบฒเบเปเบฒเบเบเบฑเปเบเบเปเบฒเปเบเบฑเบ 1, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เปเบกเบทเปเบญเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบซเบกเบปเบ, kernel panic เบเบฐเปเบเบตเบเบเบถเปเบ.
echo 1 > /proc/sys/vm/panic_on_oomOOM-Killer เบเปเปเบเบฝเบเปเบเปเบชเบฒเบกเบฒเบเปเบเบตเบเปเบฅเบฐเบเบดเบเปเบเป. เบเบงเบเปเบฎเบปเบฒเปเบงเบปเปเบฒเปเบฅเปเบงเบงเปเบฒ Linux เบชเบฒเบกเบฒเบเบชเบฐเบซเบเบงเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบชเปเบฒเบฅเบฑเบเบเบฐเบเบงเบเบเบฒเบเบซเบผเบฒเบเบเปเบงเบฒเบเบตเปเบกเบตเบขเบนเปเปเบเบเบเปเปเบกเบตเบเบฒเบเบเบฑเบเบชเบฑเบเบกเบฑเบเบขเปเบฒเบเปเบเปเบเบดเบ, เปเบฅเบฐเบเบถเบเบเบดเบเปเบฒเบเบตเปเบเบทเบเบเบงเบเบเบธเบกเปเบเบเบเบฒเบฅเบฒเบกเบดเปเบเบต Linux kernel. เบเบปเบงเปเบเปเบกเปเบเบฎเบฑเบเบเบดเบเบเบญเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบตเป vm.overcommit_memory.
เบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเบเบปเบเบเปเบฒเบเปเปเปเบเบเบตเปเบชเปเบฒเบฅเบฑเบเบกเบฑเบ:
0: kernel เบเบปเบงเบกเบฑเบเปเบญเบเบเบฑเบเบชเบดเบเปเบเบงเปเบฒเบเบฐเบชเบฐเบซเบเบงเบเบเบงเบฒเบกเบเบปเบเบเปเบฒเบซเบผเบฒเบเปเบเบตเบเปเบเบซเบผเบทเบเปเป. เบเบตเปเปเบกเปเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบเปเบ Linux เปเบงเบตเบเบฑเบเบชเปเบงเบเปเบซเบเป.
1: kernel เบเบฐเบชเบฐเบซเบเบงเบเบเบงเบฒเบกเบเบปเบเบเปเบฒเบเบดเปเบชเบเบชเบฐเปเบซเบกเบต. เบเบตเปเปเบกเปเบเบเบงเบฒเบกเบชเปเบฝเบ, เปเบเบฒเบฐเบงเปเบฒเบเบงเบฒเบกเบเบปเบเบเปเบฒเบญเบฒเบเบเบฐเบซเบกเบปเบเปเบ, เปเบเบฒเบฐเบงเปเบฒ, เบชเปเบงเบเบซเบผเบฒเบเบญเบฒเบเบเบฐ, เบกเบทเปเบซเบเบถเปเบเบเบฐเบเบงเบเบเบฒเบเบเบฐเบเปเบญเบเบเบฒเบเบกเบฑเบ.
2: kernel เบเบฐเบเปเปเบชเบฐเบซเบเบงเบเบเบงเบฒเบกเบเปเบฒเบซเบผเบฒเบเบเปเบงเบฒเบเบตเปเบฅเบฐเบเบธเปเบงเปเปเบเบเบฒเบฅเบฒเบกเบดเปเบเบต overcommit_ratio.
เบเปเบงเบเบเบฒเบฅเบฒเบกเบดเปเบเบตเบเบตเป, เบเปเบฒเบเบฅเบฐเบเบธเปเบเบตเปเบเบฑเบเบเบญเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบเบตเปเบเบทเบเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเบญเบเปเบเบตเบ. เบเปเบฒเบเปเปเบกเบตเบซเปเบญเบเบชเปเบฒเบฅเบฑเบเบกเบฑเบ, เบเปเปเบกเบตเบเบฒเบเบเบฑเบเบชเบฑเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒ, เปเบฅเบฐเบเบฒเบเบเบญเบเบเบฐเบเบทเบเบเบฐเบเบดเปเบชเบ. เบเบตเปเปเบกเปเบเบเบฒเบเปเบฅเบทเบญเบเบเบตเปเบเบญเบเปเบเบเบตเปเบชเบธเบเบเบตเปเปเบเบฐเบเปเบฒเบชเปเบฒเบฅเบฑเบ PostgreSQL. OOM-Killer เปเบเปเบฎเบฑเบเบเบปเบเบเบฐเบเบปเบเบเบฒเบเบญเบปเบเบเบฐเบเบญเบเบญเบทเปเบ - เบเบงเบฒเบกเบชเบฒเบกเบฒเบเปเบเบเบฒเบเปเบฅเบเบเปเบฝเบ, เปเบเบดเปเบเบเบทเบเบเบงเบเบเบธเบกเปเบเบเบเบปเบงเปเบ cat /proc/sys/vm/swappiness. เบเปเบฒเปเบซเบผเบปเปเบฒเบเบตเปเบเบญเบ kernel เบงเบดเบเบตเบเบฒเบเบเบฑเบเบเบฒเบเบเบฑเบเบซเบเปเบฒเปเบงเบฑเบ. เบกเบนเบเบเปเบฒเบเบตเปเบชเบนเบเบเบถเปเบ, เบกเบฑเบเปเบเบฑเบเปเบเปเบเปเบซเบเปเบญเบเบเบตเป OOM เบเบฐเบขเบธเบเบเบฐเบเบงเบเบเบฒเบ, เปเบเปเปเบเบทเปเบญเบเบเบฒเบเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบ I/O เบกเบฑเบเบกเบตเบเบปเบเบเบฐเบเบปเบเบเบฒเบเบฅเบปเบเบเปเปเบเบฒเบเบเปเปเบกเบนเบ. เปเบฅเบฐเปเบเบเบฒเบเบเบฑเบเบเบฑเบ - เบกเบนเบเบเปเบฒเบเปเปเบฒ, เบเบงเบฒเบกเปเบเบฑเบเปเบเปเบเปเบเบญเบเบเบฒเบเปเบเบเปเบเบ OOM-Killer เบชเบนเบเบเบถเปเบ, เปเบเปเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเปเปเบกเบนเบเบเบฑเบเบชเบนเบเบเบงเปเบฒ. เบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบเปเบกเปเบ 60, เปเบเปเบเปเบฒเบเบฒเบเบเปเปเบกเบนเบเบเบฑเบเบซเบกเบปเบเปเบซเบกเบฒเบฐเบเบฑเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒ, เบกเบฑเบเบเบตเบเบงเปเบฒเบเบตเปเบเบฐเบเปเบฒเบเบปเบเบเปเบฒเปเบเบฑเบ 1.
เบเบปเบเปเบเปเบฎเบฑเบ
เบขเปเบฒเบเปเบญเบเปเบซเป "เบเบฑเบเบเปเบฒ" เปเบ OOM-Killer เบขเปเบฒเบเปเบเบปเปเบฒ. เปเบเบเปเบฅเบฐเบเบตเบเบตเป, killer เบเบฐเปเบเบฑเบเบเบนเปเบเปเบญเบเปเบซเปเบฅเบญเบเบเบญเบเบฅเบฐเบเบปเบเบเบญเบเบเปเบฒเบ. เบกเบฑเบ "เบเปเบฒ" เบเบฐเบเบงเบเบเบฒเบเบเบตเปเบฎเปเบฒเบเปเบฎเบเบเบตเปเบชเบธเบเปเบฅเบฐเบเปเบงเบเบเบฐเบขเบฑเบเบฅเบฐเบเบปเบเบเบฒเบเบเบฒเบเบเบฑเบเบเปเบญเบ. เปเบเบทเปเบญเบซเบผเบตเบเปเบงเบฑเปเบเบเบฒเบเปเบเป OOM-Killer เปเบเบทเปเบญเบขเบธเบ PostgreSQL, เบเบฑเปเบเปเบเบฑเบ vm.overcommit_memory เบกเบนเบเบเปเบฒ 2. เบเบตเปเบเปเปเปเบเปเบฎเบฑเบเบเบฐเบเบฑเบเบงเปเบฒ OOM-Killer เบเบฐเบเปเปเบกเบตเบเบฒเบเปเบเบเปเบเบ, เปเบเปเบกเบฑเบเบเบฐเบซเบผเบธเบเบเปเบญเบเบเบงเบฒเบกเปเบเบฑเบเปเบเปเบเปเบเบญเบเบเบฒเบเบเบฑเบเบเบฑเบเปเบซเปเบเบฐเบเบงเบเบเบฒเบ PostgreSQL เบขเบธเบเปเบเบปเบฒ.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com
