Xem toàn bộ đối số dòng lệnh của chương trình trong nhật ký sát thủ OOM


8

Có thể xem các đối số dòng lệnh chương trình đầy đủ trong nhật ký OOM killler không? Những gì tôi thấy bây giờ trong / var / log / syslog là

Memory cgroup out of memory: Kill process 29187 (beam.smp) score 998 or sacrifice child
Killed process 29302 (cpu_sup) total-vm:4300kB, anon-rss:76kB, file-rss:272kB
beam.smp invoked oom-killer: gfp_mask=0xd0, order=0, oom_score_adj=0
beam.smp cpuset=/ mems_allowed=0-3

Tôi có rất nhiều quy trình Beam.smp trên máy của mình và thật không thuận tiện để tìm hiểu quy trình cụ thể nào đã bị giết bởi kẻ giết người OOM.

Câu trả lời:


4
echo 1 > /proc/sys/vm/oom_dump_tasks

có vẻ như về mức tối đa mà bạn có thể khiến kernel hiển thị trên các lỗi hết bộ nhớ.

https://www.kernel.org/doc/Documentation/sysctl/vm.txt

Cho phép kết xuất tác vụ trên toàn hệ thống (không bao gồm các luồng nhân) khi kernel thực hiện hủy OOM và bao gồm các thông tin như pid, uid, tgid, vm size, rss, nr_ptes, hoán đổi, điểm oom_score_adj và tên. Điều này rất hữu ích để xác định lý do tại sao kẻ giết người OOM được viện dẫn, để xác định nhiệm vụ lừa đảo gây ra nó và để xác định lý do tại sao kẻ giết người OOM chọn nhiệm vụ mà nó đã làm để giết.

Nếu điều này được đặt thành không, thông tin này sẽ bị chặn. Trên các hệ thống rất lớn với hàng ngàn tác vụ, có thể không khả thi để kết xuất thông tin trạng thái bộ nhớ cho từng tác vụ. Các hệ thống như vậy không nên bị buộc phải chịu một hình phạt hiệu suất trong điều kiện OOM khi thông tin có thể không được mong muốn.

Nếu giá trị này được đặt thành khác không, thông tin này sẽ được hiển thị bất cứ khi nào kẻ giết người OOM thực sự giết chết một nhiệm vụ ăn cắp bộ nhớ.


1
echo 1 > /proc/sys/vm/oom_dump_tasks

không giúp tôi nhiều - vẫn không có tham số dòng lệnh trong nhật ký.
để xem lại dòng lệnh của quá trình bị giết, bạn có thể sử dụng trên đỉnh để ghi lại hoạt động của hệ thống.
nếu oom-killer giết chết s / th, chỉ cần mở nhật ký trên đỉnh trong thời gian đó, tìm bạn xử lý bằng PID từ / var / log / syslog và nhấn phím 'c' để xem dòng lệnh của quy trình.

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.