Chạy một số máy chủ Linux với một hoặc chỉ một vài trình nền dịch vụ hệ thống quan trọng, tôi muốn điều chỉnh trình diệt OOM cho các quy trình được tạo ra đó trong trường hợp có điều gì đó kỳ lạ xảy ra. Ví dụ, ngày nay một số máy chủ Ubuntu chạy MySQL đã bị giết daemon MySQL vì hàng tấn apt-checker
quy trình là chiếm hết bộ nhớ và kernel nghĩ rằng đó là một ý tưởng tốt để giết MySQL.
Tôi biết rằng tôi có thể điều chỉnh điểm số bằng cách sử dụng /proc/$(pidof mysqld)/oom_score_adj
tệp để cung cấp cho nhân một số manh mối mà tôi không thích MySQL bị giết, tuy nhiên điều đó không tồn tại khi khởi động lại dịch vụ. Tôi có nên chỉnh sửa các tập lệnh init / upstart từ gói để bao gồm các điều chỉnh này không? Tôi không nghĩ đó là một giải pháp rất thanh lịch vì tôi sẽ điều chỉnh các tệp thuộc một gói. Có thể nối vào các tập lệnh khởi động / init nói chung và điều chỉnh nó một cách có điều kiện? Hoặc bạn sẽ đề nghị chạy một kịch bản không xác định như thế while true{ adjust_oom(); sleep 60;}
nào?