Giám sát quy trình tương đương với Linux?


26

Có Unix / Linux tương đương với Process Monitor , cho dù GUI hay CUI?

Nếu nó tạo ra sự khác biệt, tôi đang xem Ubuntu, nhưng nếu có một hệ thống tương đương với các hệ thống khác (Mac, các biến thể Linux khác như Fedora, v.v.) thì việc biết bất kỳ hệ thống nào cũng sẽ hữu ích.

Chỉnh sửa:

Process Monitor dành cho giám sát các cuộc gọi hệ thống (như tạo hoặc ghi tệp), trong khi Process Explorer dành cho trạng thái theo dõi quá trình (giống như System Monitor). Tôi đang yêu cầu cái trước chứ không phải cái sau. :-)

Câu trả lời:


12

Chế độ chờ giao diện điều khiển cho điều này là top, nhưng có những lựa chọn thay thế như yêu thích của tôi htopgiúp bạn linh hoạt hơn một chút về màn hình và cho phép bạn thực hiện thêm một vài thao tác trên các quy trình.

Một khung nhìn ít tương tác tốt hơn để sử dụng trong các kịch bản sẽ là pschương trình và tất cả là họ hàng.

Chỉnh sửa: Dựa trên câu hỏi đã làm rõ của bạn, bạn có thể lưu ý rằng stracexử lý xem các cuộc gọi hệ thống được thực hiện bởi một quy trình nhất định bao gồm tất cả các hoạt động đọc và ghi chức năng os. Bạn có thể kích hoạt nó trên dòng lệnh trước khi chương trình bạn muốn theo dõi hoặc đính kèm vào một quy trình đang chạy bằng cách nhấn svào một quy trình được chọn trong đó htop.


4
Tôi tin toplà tương đương với Process Explorer , không phải Process Monitor , phải không?
Mehrdad

Làm thế nào về bạn chạy nó và khám phá trang người đàn ông. Tôi đọc qua danh sách tính năng mà bạn đã liên kết đến của trình giám sát quy trình và nghe có vẻ như htopbao trùm tất cả các chi tiết ngoại trừ theo dõi trình tự khởi động. Tốt nhất là nó có thể được kích hoạt trong screen/ tmuxđôi khi một phần thông qua một xi lanh khởi động linux.
Caleb

Trước những bình luận khác của bạn, bạn cũng có thể đang tìm kiếm strace, bạn có thể kích hoạt htopbằng cách nhấn svào một quy trình hoặc thủ công từ dòng lệnh khi bạn chạy một cái gì đó hoặc với id quá trình.
Caleb

12

Phần lớn các trình giám sát quy trình là topvà nhiều công cụ giám sát hệ thống được gọi top. Ví dụ, có iotopđể xem I / O đĩa, atopcho một loạt các tài nguyên hệ thống, powertopđể tiêu thụ năng lượng.

Nếu bạn muốn thông tin chi tiết hơn, nó không được theo dõi theo mặc định. Để xem những gì một quá trình cụ thể đang làm, hãy gọi stracenó. Ví dụ: nếu bạn chỉ quan tâm đến truy cập hệ thống tệp:

strace -s9999 -efile command_name    # trace a program during its whole execution
strace -s9999 -efile -p1234          # trace a running program with the given PID

stracelà dành riêng cho Linux, nhưng các hệ thống khác có một công cụ tương tự: trusstrên Solaris ktracehoặc dtracedưới * BSD, v.v.

Để xem những gì đang xảy ra với một tệp cụ thể hoặc trong một thư mục hoặc cây thư mục cụ thể, hãy sử dụng tiện ích inotify .

inotifywait -m .

Một lần nữa, cơ sở này dành riêng cho Linux, nhưng hầu hết các hợp nhất khác có hệ thống tương tự, ví dụ như kqueue trong * BSD và FAM (ban đầu từ SGI nhưng hiện có sẵn dưới dạng API trên nhiều hệ thống).

Để xem tất cả các cuộc gọi hệ thống trong Linux, bạn có thể sử dụng hệ thống con kiểm toán . Nó tương đối gần đây và không có nhiều tài liệu về chủ đề này; tìm kiếm auditctlhoặc đọc các auditctltrang người đàn ông . Có một vài ví dụ trên trang web này: truy cập tệp theo dõi , theo dõi quá trình thực hiện .


Bạn có chắc chắn bạn đang đề cập đến tương đương với Process Monitor , và không Process Explorer ?
Mehrdad

@Mehrdad: Tôi thấy, tôi đã biết tên và bộ nhớ của tôi về một công cụ tôi đã sử dụng trên Windows (thực tế là Process Explorer), chứ không phải theo mô tả thực tế. Luôn luôn nguy hiểm khi yêu cầu tương đương với một chương trình cụ thể, tốt hơn là yêu cầu một chương trình có các tính năng nhất định.
Gilles 'SO- ngừng trở nên xấu xa'

Cảm ơn bạn. iotop -o -b -Pcho tôi thấy các quá trình đang thực hiện các hoạt động I / O trên đĩa
bartolo-otrit

8

Bạn có thể muốn xem lsofstrace. Trình theo dõi tiến trình của Sysiternal thực sự là Filemon và Regmon kết hợp với một số cải tiến bổ sung. Các toplệnh là giống như Process Explorer.




2

Tôi đã không sử dụng Trình theo dõi tiến trình đó, nhưng theo như tôi có thể nói thì nó giống như gnome-system-monitortrên hệ thống Gnome. Nếu bạn sử dụng KDE, họ có thể có một cái gì đó tương tự.


Không, chúng khác nhau. Process Monitor thực sự móc các cuộc gọi hệ thống, không hiển thị thông tin quy trình. (Tuy nhiên, những gì bạn đang đề cập đến được Process Explorer thực hiện.)
Mehrdad

Ồ, tôi thường sử dụng công cụ CLI vmstat cho những thứ như thế. Nhưng đó là hệ thống rộng, không phải trên mỗi quy trình.
Keith

1

dtrace4linux cho phép bạn theo dõi một số mẩu tin thú vị của kernel. Mặc dù nó có vẻ mạnh hơn sysdig, nhưng thật không may là không được cư xử tốt như vậ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.