Công cụ Linux để giám sát mức tiêu thụ băng thông của một quy trình cụ thể (PID)


7

Có công cụ hoặc lệnh nào giúp nắm bắt mức tiêu thụ băng thông của quy trình cụ thể (PID), giống như System Monitor không, nhưng đối với một quy trình cụ thể, như hiển thị ảnh chụp màn hình sau nhập mô tả hình ảnh ở đây

Tôi sẽ hài lòng với một công cụ dòng lệnh ít nhất là xuất lịch sử như vậy sang các tệp. (Tôi đang dùng Ubuntu 16.04)

Cập nhật 1

Tôi muốn ít nhất một công cụ như Nethog có thể xuất thành tệp (Nethogs chỉ chụp các liên kết TCP) một công cụ tương tự nhắm mục tiêu cả TCP và UDP sẽ rất tuyệt

Cập nhật 2

Bất kỳ kịch bản, sự kết hợp của các công cụ khác (như wireshark) cũng sẽ giúp.


1
tcpdump (và pcap) hoặc công cụ cấp cao hơn như ntop .
Elliott Frisch

Câu trả lời:


2

Bạn đã nhìn vào công cụ trên đỉnh? Theo trang người đàn ông cho nó:

"Tải mạng được hiển thị trên mỗi quy trình nếu mô-đun hạt nhân 'netatop' đã được cài đặt."


2

Vì vậy, vì tôi không tìm thấy bất kỳ giải pháp dễ dàng / rõ ràng / "chạm đất" nào, tôi đã phải thực hiện một giải pháp khiêm tốn, sửa chữa, tái cấu trúc và nhiều lựa chọn sắp tới.

-> https://github.com/AymenDaoudi/NeTraf


0

Làm thế nào về việc sử dụng iftop, để phân tích lưu lượng trên một số cổng nhất định và sau đó sử dụng lsofđể xác định quá trình nào đang sử dụng cổng nào?


có thể iftopbáo cáo KB / s cho UP và Downs có thể xuất nó ra tệp bên ngoài không?
AymenDaoudi

0

Nethogs có thể là những gì bạn muốn.

debian / ubfox / etc

apt-get install nethogs

hoặc rrc / cent / vv

yum install nethogs

Bạn chạy nó trên giao diện mạng, vd

nethogs eth0

Tuy nhiên, đầu ra của nó là băng thông trên mỗi quá trình, được gửi và nhận. Bạn cũng có thể theo dõi nhiều giao diện.

MÔ TẢ NetHogs là một công cụ 'net top' nhỏ. Thay vì phá vỡ lưu lượng trên mỗi giao thức hoặc trên mỗi mạng con, giống như hầu hết các công cụ như vậy, nhóm này sẽ phân chia độ rộng theo quy trình - và không dựa vào một mô-đun hạt nhân đặc biệt nào để được tải. Vì vậy, nếu đột nhiên có rất nhiều lưu lượng truy cập mạng, bạn có thể kích hoạt NetHogs và ngay lập tức xem PID nào gây ra điều này và nếu đó là một quy trình quay vòng nào đó, hãy tiêu diệt nó.

CẬP NHẬT : OP yêu cầu đầu ra cho tập tin. Bạn có thể làm điều đó với nethogs:

nethogs -d 1 eth0 > output.txt

-d chỉ định khoảng thời gian ở giữa ghi ... để bạn có thể thực hiện lệnh trên và nhận được kết quả mong muốn.

UPDATE2 OP cho biết TCP và UDP là một yêu cầu. Sau đó cố gắng sử dụng jnettop . Lớn hơn một chút, nhưng TCP và UDP. Nó có sẵn trong deb / ubfox và tôi nghĩ rằng các dẫn xuất của RHEL. thí dụ:

jnettop --display text -t 5 --format CSV

Điều này nên có khả năng ống đến một tập tin.


Tôi nêu rõ trong câu hỏi rằng Nethogs chỉ hỗ trợ các kết nối TCP và tôi nhắm đến việc cấu hình trên một ứng dụng sử dụng cả TCP và UDP
AymenDaoudi

Bạn đã tuyên bố rõ ràng "TCP và UDP sẽ rất tuyệt". Xin lỗi vì sự giải thích sai của tôi. Tôi sẽ cập nhật phản hồi của tôi.
9

@ number9 jnettop có vẻ thú vị, bao giờ việc xuất ra tệp không được tiếp tục, có cách nào để ghi dữ liệu liên tục miễn là tôi đang sử dụng Ứng dụng được định hình của mình, giống như dữ liệu được hiển thị liên tục trên màn hình?
AymenDaoudi

@ number9 lệnh jnettop cũng không hiển thị PID
AymenDaoudi
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.