linux có những kẻ giết người quá trình nào? [đóng cửa]


7

Một số công việc của tôi đang bị os giết chết vì một số lý do. Tôi cần điều tra tại sao điều này xảy ra. Các công việc mà tôi chạy không hiển thị bất kỳ thông báo lỗi nào trong nhật ký riêng của chúng, điều này có thể cho thấy os đã giết chúng. Không ai khác có quyền truy cập vào máy chủ. Tôi biết về kẻ giết người OOM, có kẻ giết người quá trình nào khác không? Tôi sẽ tìm thấy nhật ký cho những thứ này ở đâu?


6
Điều này không nhất thiết có nghĩa là hệ điều hành đã giết họ. Một chương trình có thể "lỗi phân đoạn" hoặc có lỗi (sự cố) hoặc vượt quá ulimitgiới hạn (heap là một lỗi tốt, vì có quá nhiều quy trình cho ứng dụng luồng java) hoặc vượt quá giới hạn do JVM xác định (đối với chương trình java) hoặc chết cho nhiều người lý do khác; không ai trong số này có thể nhất thiết phải đăng nhập đầu ra trong nhật ký ứng dụng.
Stephen Harris

công việc là một kịch bản python, vì vậy tôi rất nghi ngờ đó là lỗi seg. phải mất khoảng 24gb bộ nhớ.
mss

1
Trong trường hợp của một kịch bản python, bất kỳ ngoại lệ chưa được xử lý sẽ làm. Không có đủ thông tin trong câu hỏi để vượt ra ngoài việc đoán.
Dmitry Grigoryev

ít nhất bạn có thể lấy mã trả về từ tiến trình cha không?
Jeff Schaller

2
Thực tế đó là OOM, tôi đã tìm thấy các thông báo trong var / log. Tôi đoán tại một số thời điểm, việc sử dụng bộ nhớ tăng vọt và OOM đã chăm sóc nó.
ms

Câu trả lời:


13

oom hiện là thứ duy nhất tự động giết chết.

dmesg

/ var / log / message sẽ hiển thị oom kill.

Nếu quá trình có thể xử lý tín hiệu đó, nó có thể ghi lại ít nhất là tiêu diệt.

Bình thường lợn nhớ bị giết. Có lẽ nhiều không gian hoán đổi có thể giúp bạn, nếu bộ nhớ chỉ được phân bổ nhưng không thực sự cần thiết.

Khác: Nhận thêm RAM.


1
Sửa chữa: "oom [killer] hiện là thứ duy nhất tự động giết chết bên ngoài quá trình ". Như @StephenHarris đề cập, chương trình hoàn toàn có thể tự chấm dứt vì nhiều lý do có thể không hiển thị trong nhật ký hệ thống hoặc ứng dụng (ví dụ SIGSEGV).
Christopher Schultz

9

Đến với tâm trí:

  • nhận được một SIGSEGVhoặc SIGBUStruy cập bộ nhớ không hợp lệ
  • SIGILL cho các hướng dẫn không hợp lệ
  • SIGFPE khi thực hiện một phép toán số học không hợp lệ như chia cho 0
  • SIGXCPUhoặc SIGXFSZnếu quá trình vượt quá một số giới hạn
  • SIGHUP cho các thiết bị đầu cuối bị ngắt kết nối và một số tình huống khác
  • SIGPIPE khi cố gắng ghi vào một đường ống hoặc ổ cắm kín
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.