PostgreSQL เจฒเจˆ เจฒเฉ€เจจเจ•เจธ เจตเจฟเฉฑเจš เจ†เจŠเจŸ-เจ†เจซ-เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจ•เจฟเจฒเจฐ เจธเฉˆเจŸ เจ…เจช เจ•เจฐเจจเจพ

PostgreSQL เจฒเจˆ เจฒเฉ€เจจเจ•เจธ เจตเจฟเฉฑเจš เจ†เจŠเจŸ-เจ†เจซ-เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจ•เจฟเจฒเจฐ เจธเฉˆเจŸ เจ…เจช เจ•เจฐเจจเจพ

เจœเจฆเฉ‹เจ‚ เจ‡เฉฑเจ• เจกเจพเจŸเจพเจฌเฉ‡เจธ เจธเจฐเจตเจฐ เจฒเฉ€เจจเจ•เจธ เจตเจฟเฉฑเจš เจ…เจšเจพเจจเจ• เจฌเฉฐเจฆ เจนเฉ‹ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เจพเจฐเจจ เจฒเฉฑเจญเจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค เจ•เจˆ เจ•เจพเจฐเจจ เจนเฉ‹ เจธเจ•เจฆเฉ‡ เจนเจจเฅค เจ‰เจฆเจพเจนเจฐเจฃ เจฒเจˆ, SIGSEGV โ€” เจฌเฉˆเจ•เจเจ‚เจก เจธเจฐเจตเจฐ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจฌเฉฑเจ— เจ•เจพเจฐเจจ เจ…เจธเจซเจฒเจคเจพเฅค เจชเจฐ เจ‡เจน เจฆเฉเจฐเจฒเฉฑเจญ เจนเฉˆ. เจ…เจ•เจธเจฐ, เจคเฉเจนเจพเจกเฉ€ เจกเจฟเจธเจ• เจธเจชเฉ‡เจธ เจœเจพเจ‚ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจ–เจคเจฎ เจนเฉ‹ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจกเฉ€ เจกเจฟเจธเจ• เจธเจชเฉ‡เจธ เจ–เจคเจฎ เจนเฉ‹ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจคเจพเจ‚ เจธเจฟเจฐเจซ เจ‡เฉฑเจ• เจคเจฐเฉ€เจ•เจพ เจนเฉˆ - เจธเจชเฉ‡เจธ เจ–เจพเจฒเฉ€ เจ•เจฐเฉ‹ เจ…เจคเฉ‡ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจจเฉ‚เฉฐ เจฐเฉ€เจธเจŸเจพเจฐเจŸ เจ•เจฐเฉ‹เฅค

เจ†เจŠเจŸ-เจ†เจซ-เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจ•เจพเจคเจฒ

เจœเจฆเฉ‹เจ‚ เจ‡เฉฑเจ• เจธเจฐเจตเจฐ เจœเจพเจ‚ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจ–เจคเจฎ เจนเฉ‹ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจฒเฉ€เจจเจ•เจธ 2 เจนเฉฑเจฒ เจชเฉ‡เจธเจผ เจ•เจฐเจฆเจพ เจนเฉˆ: เจชเฉ‚เจฐเฉ‡ เจธเจฟเจธเจŸเจฎ เจจเฉ‚เฉฐ เจ•เจฐเฉˆเจธเจผ เจ•เจฐเฉ‹ เจœเจพเจ‚ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† (เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ) เจจเฉ‚เฉฐ เจ–เจคเจฎ เจ•เจฐเฉ‹ เจœเฉ‹ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจจเฉ‚เฉฐ เจ–เจพ เจฐเจนเฉ€ เจนเฉˆเฅค เจฌเฉ‡เจธเจผเจ•, เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเฉ‚เฉฐ เจ–เจคเจฎ เจ•เจฐเจจเจพ เจ…เจคเฉ‡ OS เจจเฉ‚เฉฐ เจ•เจฐเฉˆเจธเจผ เจนเฉ‹เจฃ เจคเฉ‹เจ‚ เจฌเจšเจพเจ‰เจฃเจพ เจฌเจฟเจนเจคเจฐ เจนเฉˆ. เจธเฉฐเจ–เฉ‡เจช เจฐเฉ‚เจช เจตเจฟเฉฑเจš, เจ†เจŠเจŸ-เจ†เจซ-เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจ•เจฟเจฒเจฐ เจ‡เฉฑเจ• เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจนเฉˆ เจœเฉ‹ เจ•เจฐเจจเจฒ เจจเฉ‚เฉฐ เจ•เจฐเฉˆเจธเจผ เจนเฉ‹เจฃ เจคเฉ‹เจ‚ เจฌเจšเจพเจ‰เจฃ เจฒเจˆ เจ‡เฉฑเจ• เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจฎเจพเจฐ เจฆเจฟเฉฐเจฆเฉ€ เจนเฉˆเฅค เจ‡เจน OS เจจเฉ‚เฉฐ เจšเฉฑเจฒเจฆเจพ เจฐเฉฑเจ–เจฃ เจฒเจˆ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฆเฉ€ เจฌเจฒเฉ€ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค เจ†เจ‰ เจชเจนเจฟเจฒเจพเจ‚ เจšเจฐเจšเจพ เจ•เจฐเฉ€เจ เจ•เจฟ OOM เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจจเจฟเจฏเฉฐเจคเจฐเจฟเจค เจ•เจฐเจจเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจซเจฟเจฐ เจฆเฉ‡เจ–เฉ‹ เจ•เจฟ OOM เจ•เจฟเจฒเจฐ เจ•เจฟเจธ เจคเจฐเฉเจนเจพเจ‚ เจ‡เจน เจซเฉˆเจธเจฒเจพ เจ•เจฐเจฆเจพ เจนเฉˆ เจ•เจฟ เจ•เจฟเจนเฉœเฉ€ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจ–เจคเจฎ เจ•เจฐเจจเจพ เจนเฉˆเฅค

เจฒเฉ€เจจเจ•เจธ เจฆเฉ‡ เจฎเฉเฉฑเจ– เจ•เฉฐเจฎเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจจเฉ‚เฉฐ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจเจพ เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจ‰เจน เจ‡เจธเจฆเฉ€ เจฎเฉฐเจ— เจ•เจฐเจฆเฉ‡ เจนเจจเฅค เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡, เจ‡เฉฑเจ• เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจœเจพเจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ 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() เจ•เฉเจ เจจเจฟเจฏเจฎเจพเจ‚ เจ…เจจเฉเจธเจพเจฐ เจ‡เฉฑเจ• เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจšเฉเจฃเจฆเจพ เจนเฉˆเฅค

  1. เจ•เจฐเจจเจฒ เจจเฉ‚เฉฐ เจ†เจชเจฃเฉ‡ เจฒเจˆ เจ•เฉเจ เจ˜เฉฑเจŸเฉ‹-เจ˜เฉฑเจŸ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค
  2. เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฌเจนเฉเจค เจธเจพเจฐเฉ€ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจ–เจพเจฒเฉ€ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค
  3. เจ‰เจนเจจเจพเจ‚ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจจเฉ‚เฉฐ เจ–เจคเจฎ เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจˆ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆ เจœเฉ‹ เจ˜เฉฑเจŸ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจฐเจนเฉ€เจ†เจ‚ เจนเจจ.
  4. เจ˜เฉฑเจŸเฉ‹-เจ˜เฉฑเจŸ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเจพ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค
  5. เจ—เฉเฉฐเจเจฒเจฆเจพเจฐ เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ เจœเฉ‹ เจ‰เจนเจจเจพเจ‚ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจฒเจˆ เจชเฉ‚เจฐเจพ เจนเฉ‹เจฃ เจฆเฉ€ เจธเฉฐเจญเจพเจตเจจเจพ เจจเฉ‚เฉฐ เจตเจงเจพเจ‰เจ‚เจฆเฉ‡ เจนเจจ เจœเฉ‹ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจ–เฉเจฆ เจชเฉ‚เจฐเจพ เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค

เจ‡เจนเจจเจพเจ‚ เจธเจพเจฐเฉ€เจ†เจ‚ เจœเจพเจ‚เจšเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเจพ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, OOM เจธเจ•เฉ‹เจฐ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจฆเจพ เจนเฉˆ (oom_score). OOM เจ…เจธเจพเจˆเจจ เจ•เจฐเจฆเจพ เจนเฉˆ oom_score เจนเจฐเฉ‡เจ• เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†, เจ…เจคเฉ‡ เจซเจฟเจฐ เจ‡เจธ เจฎเฉเฉฑเจฒ เจจเฉ‚เฉฐ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจฆเฉ€ เจฎเจพเจคเจฐเจพ เจจเจพเจฒ เจ—เฉเจฃเจพ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจตเฉฑเจกเฉ‡ เจฎเฉเฉฑเจฒเจพเจ‚ เจตเจพเจฒเฉ€เจ†เจ‚ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ OOM เจ•เจฟเจฒเจฐ เจฆเจพ เจธเจผเจฟเจ•เจพเจฐ เจนเฉ‹เจฃ เจฆเฉ€ เจœเจผเจฟเจ†เจฆเจพ เจธเฉฐเจญเจพเจตเจจเจพ เจนเฉˆเฅค เจฐเฉ‚เจŸ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจจเจพเจฒ เจœเฉเฉœเฉ€เจ†เจ‚ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจฆเจพ เจธเจ•เฉ‹เจฐ เจ˜เฉฑเจŸ เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ–เจคเจฎ เจ•เจฐเจจ เจฒเจˆ เจฎเจœเจฌเฉ‚เจฐ เจ•เฉ€เจคเฉ‡ เจœเจพเจฃ เจฆเฉ€ เจธเฉฐเจญเจพเจตเจจเจพ เจ˜เฉฑเจŸ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค

postgres=# SELECT pg_backend_pid();
pg_backend_pid 
----------------
    3813
(1 row)

เจชเฉ‹เจธเจŸเจ—เฉเจฐเฉ‡เจธ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† 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-เจ•เจฟเจฒเจฐ เจซเฉฐเจ•เจธเจผเจจ เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เจฐเจฆเจพ เจนเฉˆ oom_kill_task(). เจ‡เจน เจซเฉฐเจ•เจธเจผเจจ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเฉ‚เฉฐ เจธเจฎเจพเจชเจคเฉ€ เจธเจฟเจ—เจจเจฒ เจญเฉ‡เจœเจฆเจพ เจนเฉˆเฅค เจฏเจพเจฆเจฆเจพเจธเจผเจค เจฆเฉ€ เจ•เจฎเฉ€ เจฆเฉ‡ เจฎเจพเจฎเจฒเฉ‡ เจตเจฟเฉฑเจš oom_kill() เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเฉ‚เฉฐ เจธเจฟเจ—เจ•เจฟเฉฑเจฒ เจธเจฟเจ—เจจเจฒ เจญเฉ‡เจœเจฃ เจฒเจˆ เจ‡เจธ เจซเฉฐเจ•เจธเจผเจจ เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ•เจฐเจจเจฒ เจฒเฉŒเจ— เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจธเฉเจจเฉ‡เจนเจพ เจฒเจฟเจ–เจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค

Out of Memory: Killed process [pid] [name].

OOM-เจ•เจฟเจฒเจฐ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจŸเจฐเฉ‹เจฒ เจ•เจฐเจจเจพ เจนเฉˆ

เจฒเฉ€เจจเจ•เจธ 'เจคเฉ‡, เจคเฉเจธเฉ€เจ‚ OOM-เจ•เจฟเจฒเจฐ เจจเฉ‚เฉฐ เจธเจฎเจฐเฉฑเจฅ เจœเจพเจ‚ เจ…เจฏเฉ‹เจ— เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ (เจนเจพเจฒเจพเจ‚เจ•เจฟ เจฌเจพเจ…เจฆ เจฆเฉ€ เจธเจฟเจซเจผเจพเจฐเจธเจผ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ)เฅค เจจเฉ‚เฉฐ เจธเจฎเจฐเฉฑเจฅ เจœเจพเจ‚ เจ…เจฏเฉ‹เจ— เจ•เจฐเจจ เจฒเจˆ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹ 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-เจ•เจฟเจฒเจฐ เจจเฉ‚เฉฐ เจธเจฟเจฐเจซเจผ เจšเจพเจฒเฉ‚ เจ…เจคเฉ‡ เจฌเฉฐเจฆ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ…เจธเฉ€เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ•เจฟเจนเจพ เจนเฉˆ เจ•เจฟ เจฒเฉ€เจจเจ•เจธ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจ‡เจธ เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เฉ€เจคเฉ‡ เจฌเจฟเจจเจพเจ‚ เจ‰เจชเจฒเจฌเจง เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจฒเจˆ เจตเจงเฉ‡เจฐเฉ‡ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจฐเจฟเจœเจผเจฐเจต เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เจน เจตเจฟเจตเจนเจพเจฐ เจ‡เฉฑเจ• เจฒเฉ€เจจเจ•เจธ เจ•เจฐเจจเจฒ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจฆเฉเจ†เจฐเจพ เจจเจฟเจฏเฉฐเจคเจฐเจฟเจค เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจ‡เจธ เจฒเจˆ เจœเจผเจฟเฉฐเจฎเฉ‡เจตเจพเจฐ เจนเฉˆ vm.overcommit_memory.

เจคเฉเจธเฉ€เจ‚ เจ‡เจธเจฆเฉ‡ เจฒเจˆ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจฎเฉเฉฑเจฒ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹:

0: เจ•เจฐเจจเจฒ เจ–เฉเจฆ เจซเฉˆเจธเจฒเจพ เจ•เจฐเจฆเจพ เจนเฉˆ เจ•เจฟ เจ•เฉ€ เจฌเจนเฉเจค เจœเจผเจฟเจ†เจฆเจพ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจฐเจฟเจœเจผเจฐเจต เจ•เจฐเจจเฉ€ เจนเฉˆเฅค เจ‡เจน Linux เจฆเฉ‡ เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจธเฉฐเจธเจ•เจฐเจฃเจพเจ‚ 'เจคเฉ‡ เจกเจฟเจซเฉŒเจฒเจŸ เจนเฉˆเฅค
1: เจ•เจฐเจจเจฒ เจนเจฎเฉ‡เจธเจผเจพ เจตเจพเจงเฉ‚ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจฐเจฟเจœเจผเจฐเจต เจ•เจฐเฉ‡เจ—เจพเฅค เจ‡เจน เจ–เจผเจคเจฐเจจเจพเจ• เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจ–เจคเจฎ เจนเฉ‹ เจธเจ•เจฆเฉ€ เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ, เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจธเฉฐเจญเจพเจตเจจเจพ เจนเฉˆ, เจ‡เฉฑเจ• เจฆเจฟเจจ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เจธเจฆเฉ€ เจฒเฉ‹เฉœ เจชเจตเฉ‡เจ—เฉ€.
2: เจ•เจฐเจจเจฒ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจตเจฟเฉฑเจš เจฆเจฐเจธเจพเจ เจคเฉ‹เจ‚ เจตเฉฑเจง เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจฐเจพเจ–เจตเฉ€เจ‚ เจจเจนเฉ€เจ‚ เจ•เจฐเฉ‡เจ—เจพ overcommit_ratio.

เจ‡เจธ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจฆเฉ‡ เจจเจพเจฒ, เจคเฉเจธเฉ€เจ‚ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจฆเจพ เจชเฉเจฐเจคเฉ€เจธเจผเจค เจจเจฟเจธเจผเจšเจฟเจค เจ•เจฐเจฆเฉ‡ เจนเฉ‹ เจœเจฟเจธ เจจเฉ‚เฉฐ เจ“เจตเจฐ-เจฐเจฟเจœเจผเจฐเจต เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฑเจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค เจœเฉ‡ เจ‡เจธเจฆเฉ‡ เจฒเจˆ เจ•เฉ‹เจˆ เจฅเจพเจ‚ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจคเจพเจ‚ เจ•เฉ‹เจˆ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจจเจฟเจฐเจงเจพเจฐเจค เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€, เจ…เจคเฉ‡ เจฐเจฟเจœเจผเจฐเจตเฉ‡เจธเจผเจจ เจคเฉ‹เจ‚ เจ‡เจจเจ•เจพเจฐ เจ•เจฐ เจฆเจฟเฉฑเจคเจพ เจœเจพเจตเฉ‡เจ—เจพเฅค PostgreSQL เจฒเจˆ เจ‡เจน เจธเจญ เจคเฉ‹เจ‚ เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจตเจฟเจ•เจฒเจช เจนเฉˆเฅค OOM-เจ•เจฟเจฒเจฐ เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจคเฉฑเจค เจฆเฉเจ†เจฐเจพ เจชเฉเจฐเจญเจพเจตเจฟเจค เจนเฉเฉฐเจฆเจพ เจนเฉˆ - เจธเจตเฉˆเจชเจฟเฉฐเจ— เจธเจฎเจฐเฉฑเจฅเจพ, เจœเฉ‹ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจฆเฉเจ†เจฐเจพ เจจเจฟเจฏเฉฐเจคเจฐเจฟเจค เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ cat /proc/sys/vm/swappiness. เจ‡เจน เจฎเฉเฉฑเจฒ เจ•เจฐเจจเจฒ เจจเฉ‚เฉฐ เจฆเฉฑเจธเจฆเฉ‡ เจนเจจ เจ•เจฟ เจชเฉ‡เจœเจฟเฉฐเจ— เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจธเฉฐเจญเจพเจฒเจฃเจพ เจนเฉˆเฅค เจฎเฉเฉฑเจฒ เจœเจฟเฉฐเจจเจพ เจ‰เฉฑเจšเจพ เจนเฉ‹เจตเฉ‡เจ—เจพ, เจ“เจจเฉ€ เจนเฉ€ เจ˜เฉฑเจŸ เจธเฉฐเจญเจพเจตเจจเจพ เจนเฉˆ เจ•เจฟ OOM เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเฉ‚เฉฐ เจ–เจคเจฎ เจ•เจฐ เจฆเฉ‡เจตเฉ‡เจ—เจพ, เจชเจฐ I/O เจ“เจชเจฐเฉ‡เจธเจผเจจเจพเจ‚ เจฆเฉ‡ เจ•เจพเจฐเจจ เจ‡เจธเจฆเจพ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ 'เจคเฉ‡ เจฎเจพเฉœเจพ เจชเฉเจฐเจญเจพเจต เจชเฉˆเจ‚เจฆเจพ เจนเฉˆเฅค เจ…เจคเฉ‡ เจ‡เจธเจฆเฉ‡ เจ‰เจฒเจŸ - เจฎเฉเฉฑเจฒ เจœเจฟเฉฐเจจเจพ เจ˜เฉฑเจŸ เจนเฉ‹เจตเฉ‡เจ—เจพ, เจ“เจ“เจเจฎ-เจ•เจฟเจฒเจฐ เจฆเจ–เจฒเจ…เฉฐเจฆเจพเจœเจผเฉ€ เจฆเฉ€ เจธเฉฐเจญเจพเจตเจจเจพ เจตเฉฑเจง เจนเฉˆ, เจชเจฐ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฆเฉ€ เจ•เจพเจฐเจ—เฉเจœเจผเจพเจฐเฉ€ เจตเฉ€ เจตเฉฑเจง เจนเฉˆเฅค เจชเฉ‚เจฐเจต-เจจเจฟเจฐเจงเจพเจฐเจค เจฎเฉเฉฑเจฒ 60 เจนเฉˆ, เจชเจฐ เจœเฉ‡เจ•เจฐ เจธเจพเจฐเจพ เจกเจพเจŸเจพเจฌเฉ‡เจธ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจตเจฟเฉฑเจš เจซเจฟเฉฑเจŸ เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจฎเฉเฉฑเจฒ เจจเฉ‚เฉฐ 1 'เจคเฉ‡ เจธเฉˆเฉฑเจŸ เจ•เจฐเจจเจพ เจฌเจฟเจนเจคเจฐ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค

เจจเจคเฉ€เจœเฉ‡

OOM-เจ•เจฟเจฒเจฐ เจตเจฟเฉฑเจš "เจ•เจพเจคเจฒ" เจจเฉ‚เฉฐ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจกเจฐเจพเจ‰เจฃ เจจเจพ เจฆเจฟเจ“เฅค เจ‡เจธ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš, เจ•เจพเจคเจฒ เจคเฉเจนเจพเจกเฉ‡ เจธเจฟเจธเจŸเจฎ เจฆเจพ เจฎเฉเจ•เจคเฉ€เจฆเจพเจคเจพ เจนเฉ‹เจตเฉ‡เจ—เจพ. เจ‡เจน เจธเจญ เจคเฉ‹เจ‚ เจญเฉˆเฉœเฉ€เจ†เจ‚ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจจเฉ‚เฉฐ "เจฎเจพเจฐเจฆเจพ" เจนเฉˆ เจ…เจคเฉ‡ เจธเจฟเจธเจŸเจฎ เจจเฉ‚เฉฐ เจ•เจฐเฉˆเจธเจผ เจนเฉ‹เจฃ เจคเฉ‹เจ‚ เจฌเจšเจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค PostgreSQL เจจเฉ‚เฉฐ เจ–เจคเจฎ เจ•เจฐเจจ เจฒเจˆ OOM-Killer เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจšเจฃ เจฒเจˆ, เจ‡เจธ 'เจคเฉ‡ เจธเฉˆเฉฑเจŸ เจ•เจฐเฉ‹ vm.overcommit_memory เจฎเฉเฉฑเจฒ 2. เจ‡เจน เจ—เจพเจฐเฉฐเจŸเฉ€ เจจเจนเฉ€เจ‚ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ เจ•เจฟ OOM-เจ•เจฟเจฒเจฐ เจจเฉ‚เฉฐ เจฆเจ–เจฒ เจจเจนเฉ€เจ‚ เจฆเฉ‡เจฃเจพ เจชเจตเฉ‡เจ—เจพ, เจชเจฐ เจ‡เจน PostgreSQL เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเฉ‚เฉฐ เจธเจฎเจพเจชเจค เจ•เจฐเจจ เจฒเจˆ เจฎเจœเจฌเฉ‚เจฐ เจ•เจฐเจจ เจฆเฉ€ เจธเฉฐเจญเจพเจตเจจเจพ เจจเฉ‚เฉฐ เจ˜เจŸเจพ เจฆเฉ‡เจตเฉ‡เจ—เจพเฅค

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹