Hồ sơ chi tiết theo quy trình


7

Tôi đang tìm cách để cấu hình một quy trình duy nhất bao gồm thời gian dành cho CPU, I / O, sử dụng bộ nhớ theo thời gian và các cuộc gọi hệ thống tùy chọn.

Tôi đã biết callgrindcung cấp một số tính năng định hình cơ bản nhưng chỉ với thông tin gỡ lỗi và thiếu hầu hết các thông tin được đề cập khác.

Tôi biết strace -ccung cấp một bản tóm tắt về tất cả các cuộc gọi hệ thống và thời gian CPU cần thiết của chúng.

Tôi biết một số công cụ IO liên quan như (io)top, iostat, vmstatnhưng tất cả đều đang thiếu thống kê về một quá trình duy nhất trình bày chi tiết. Ngoài ra còn /proc/$PID/iocung cấp một số thống kê IO về một quy trình duy nhất, nhưng tôi sẽ phải đọc nó theo các khoảng thời gian cố định để thu thập thông tin IO theo thời gian.

Tôi biết pidstatcung cấp tải CPU, thống kê IO và sử dụng bộ nhớ nhưng không có cuộc gọi hệ thống, chỉ ở mức độ chi tiết cao và không theo thời gian.

Tất nhiên người ta có thể kết hợp một số công cụ được mô tả để thu thập những thông tin đó theo thời gian, nhưng thiếu độ chi tiết cao và do đó thiếu thông tin quan trọng. Những gì tôi đang tìm kiếm là một công cụ duy nhất cung cấp tất cả (hoặc ít nhất là) các thông tin được đề cập, lý tưởng theo thời gian. Liệu một công cụ như vậy tồn tại?


tùy thuộc vào phiên bản psvà các tùy chọn có sẵn, một số thông tin đó có sẵn ở đó. Nhưng ... vâng, tôi rất thích một bảng điều khiển hiệu năng bao gồm tất cả như trên Windows7. Một điều có thể giúp ... có một tiện ích hoàn hảo khá toàn diện ban đầu dành cho AIX (IBM Unix) được gọi là NMON, mà tôi tin rằng đã được chuyển sang sử dụng trên (một số) linux (es). Chúc may mắn.
shellter

Câu trả lời:


3

Trong khi đó, tôi đã viết chương trình của riêng mình - audria - có khả năng giám sát việc sử dụng tài nguyên của một hoặc nhiều quá trình, bao gồm sử dụng CPU hiện tại / trung bình, sử dụng bộ nhớ ảo, tải IO và thông tin khác.


1

Bạn đã thử remotetaskmonitor.com chưa? Bạn có thể chọn quy trình hoặc luồng riêng lẻ, sau đó nắm bắt việc sử dụng cpu trong khoảng thời gian đó. Nó sẽ tạo cho bạn các sơ đồ sử dụng cpu và bộ nhớ.

Một lựa chọn khác có thể là cpuprofiler.com . Nhưng với điều này, dữ liệu cpu của bạn được lưu trữ trên đám mây và bạn có thể đăng nhập từ trình duyệt web để xem các báo cáo cpu.


1
Cảm ơn lời đề nghị của bạn. Nhưng Remote Task Monitor dường như chỉ chạy trên Windows (mặc dù tuyên bố có khả năng giám sát các thiết bị Linux). Và CPU Profiler chỉ giám sát một tập hợp các đặc điểm ứng dụng rất hạn chế, cộng với nhược điểm là phải tải tất cả dữ liệu lên đám mây.
scai

1

Oprofile , các gói có sẵn trong hầu hết các bản phân phối, cung cấp tùy chọn cho mỗi sự kiện hoặc toàn bộ hệ thống và xử lý hồ sơ bằng cách sử dụng bộ đếm hiệu suất phần cứng của CPU.

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.