Làm thế nào để chẩn đoán nguyên nhân của quá trình giết người oom-killer


9

Tôi có một máy chủ riêng ảo nhỏ chạy CentOS và www / mail / db, gần đây đã có một vài sự cố trong đó máy chủ web và ssh trở nên không phản hồi.

Nhìn vào nhật ký, tôi thấy rằng kẻ giết người oom đã giết chết các quá trình này, có thể là do hết bộ nhớ và trao đổi.

Bất cứ ai có thể cho tôi một số gợi ý về cách chẩn đoán những gì có thể gây ra sự cố gần đây nhất? Có khả năng quá trình đầu tiên bị giết? Tôi nên tìm ở đâu nữa?

Câu trả lời:


11

Không, thuật toán không đơn giản. Bạn có thể tìm thêm thông tin trong:

http://linux-mm.org/OOM_Killer

Nếu bạn muốn theo dõi việc sử dụng bộ nhớ, tôi khuyên bạn nên chạy một lệnh như:

ps -e -o pid,user,cpu,size,rss,cmd --sort -size,-rss | head

Nó sẽ cung cấp cho bạn một danh sách các quy trình đang sử dụng nhiều bộ nhớ nhất (và có thể gây ra tình huống OOM). Xóa | headnếu bạn muốn kiểm tra tất cả các quy trình.

Nếu bạn đặt nó trên cron của bạn, hãy lặp lại sau mỗi 5 phút và lưu nó vào một tập tin. Giữ ít nhất một vài ngày, để bạn có thể kiểm tra những gì đã xảy ra sau đó.

Đối với các dịch vụ quan trọng như ssh, tôi khuyên bạn nên sử dụng monit để tự động khởi động lại chúng trong tình huống như vậy. Nó có thể tiết kiệm từ việc mất quyền truy cập vào máy nếu bạn không có bàn điều khiển từ xa.

Chúc may mắn nhất,
João Miguel Neves


Cảm ơn - cuối cùng cũng phải loay hoay để thử điều này sau một vài sự cố về kẻ giết người khác khiến máy chủ của tôi phải quỳ xuống. Cần theo dõi nguyên nhân.
dunxd

6

Gần đây tôi đã có một khoảng thời gian khó khăn với điều đó, bởi vì quá trình mà kẻ giết người oom dậm chân không nhất thiết là những kẻ đã thất bại. Trong khi cố gắng chẩn đoán điều đó, tôi đã tìm hiểu về một trong những công cụ yêu thích hiện nay của mình, trên đỉnh.

Tiện ích này giống như một đầu trên steroid. Trong một khoảng thời gian đặt trước, nó cấu hình thông tin hệ thống. Sau đó bạn có thể phát lại để xem những gì đang xảy ra. Nó nhấn mạnh các quá trình ar 80% + màu xanh lam và 90% + màu đỏ. Khung nhìn hữu ích nhất là bảng sử dụng bộ nhớ về lượng bộ nhớ được phân bổ trong khoảng thời gian qua. Đó là người giúp tôi nhiều nhất.

Công cụ tuyệt vời - không thể nói đủ về nó.

trên màn hình hiệu suất


1

Bài viết này về thuần hóa oom-kille r có vẻ đặc biệt hữu ích. Có vẻ như bạn có thể đặt mức độ ưu tiên để ngăn chặn kẻ giết người oom giết một số quy trình nhất định (sshd sẽ là khởi đầu tốt cho VPS!)


1

OOM chỉ giết chết quá trình sử dụng nhiều bộ nhớ nhất tại thời điểm đó. Không nhất thiết là quá trình đã đi quá giới hạn hoặc tăng vọt cuộc gọi OOm.
Ngoài ra linux là lỏng lẻo với phân bổ bộ nhớ của nó. AKA nếu tiến trình của bạn cần 5gb nhưng chỉ sử dụng 3, linux sẽ cho phép một tiến trình khác sử dụng 2 mà nó không sử dụng. hiệu suất> độ tin cậy. sau đó khi p1 cần đầy đủ 5 thì không thể lấy được

Không phải là một exeprt. chỉ tự mình giải quyết chuyện này và những gì tôi đã tìm thấy

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.