Dễ dàng tìm ra quy trình nào đang sử dụng quá nhiều băng thông trong Linux
Trong khi có nhiều công cụ giám sát mạng có sẵn cho Linux, hầu hết trong số họ giám sát lưu lượng mạng đến và đi từ máy tính của bạn hoặc một giao diện cụ thể. Tuy nhiên, có những lúc bạn muốn đinh xuống một quy trình cụ thể đang sử dụng quá nhiều băng thông và có một công cụ, được gọi là NetHogs, cho phép bạn thực hiện điều đó.
Trong bài viết này, chúng tôi sẽ thảo luận về những điều cơ bản của NetHog cũng như các tính năng mà nó cung cấp.
NetHogs
Theo trang man của tiện ích, NetHogs là một công cụ “net top” nhỏ. Thay vì phá vỡ lưu lượng mạng xuố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ụ, nó nhóm băng thông theo quy trình.
Nếu có nhiều lưu lượng mạng đột ngột, bạn có thể kích hoạt NetHogs và ngay lập tức xem PID nào đang gây ra điều này, làm cho nó dễ dàng xác định các chương trình đã biến mất và đột nhiên chiếm băng thông của bạn. Kể từ khi NetHogs dựa nhiều vào “/ proc”, nó hiện chỉ chạy trên Linux.
Tải xuống cài đặt
Người dùng các hệ thống dựa trên Debian như Ubuntu có thể dễ dàng tải xuống và cài đặt công cụ bằng cách sử dụng lệnh sau:
sudo apt-get cài đặt nethogs
Nếu bạn đang sử dụng bất kỳ phân phối nào khác, bạn có thể kiểm tra các chi tiết được cung cấp tại trang web chính thức của NetHog. Một điểm đáng lưu ý khác là công cụ yêu cầu libpcap
và ncurses
, vì vậy hãy chắc chắn rằng bạn đã libncurses5-dev
và libpcap0.8-dev
.
Sử dụng
NetHogs khá đơn giản để sử dụng; chỉ cần chạy lệnh nethogs
mà không có bất kỳ tùy chọn dòng lệnh nào, và nó sẽ hiển thị băng thông được sử dụng bởi mỗi tiến trình. Sau đây là ảnh chụp nhanh của đầu ra do công cụ tạo ra trên hệ thống của tôi:
Như bạn có thể thấy trong ảnh chụp màn hình, công cụ NetHogs hiển thị các chi tiết như PID, tên người dùng, quy trình, giao diện mạng đang được sử dụng và tốc độ dữ liệu được gửi và nhận.
Đặt tốc độ làm mới tùy chỉnh
Theo mặc định, đầu ra của NetHog được làm mới sau khi trì hoãn 1 giây, nhưng bạn có thể sử dụng tùy chọn dòng lệnh -d
để đặt độ trễ này theo yêu cầu của bạn. Ví dụ: để đặt thời gian trễ là 3 giây, hãy sử dụng lệnh sau:
sudo nethogs -d 3
Chỉ định giao diện
Bạn cũng có thể yêu cầu NetHogs theo dõi lưu lượng trên một giao diện mạng cụ thể bằng cách chỉ định tên giao diện trên dòng lệnh. Ví dụ: để theo dõi lưu lượng truy cập trên eth1
, bạn có thể sử dụng lệnh sau:
sudo nethogs eth1
Lưu ý : bạn có thể sử dụng tùy chọn dòng lệnh -p
để đánh dấu lưu lượng truy cập trong chế độ promiscuous, mặc dù nó không được khuyến khích.
Các phím tắt bàn phím
Công cụ này cũng cung cấp một số phím tắt mà bạn có thể sử dụng để kiểm soát cách hiển thị đầu ra. Ví dụ: khi lệnh đang chạy, bạn có thể nhấn phím “m” để thay đổi đơn vị trong đó dữ liệu được gửi và nhận được hiển thị - mỗi lần bạn nhấn phím, đơn vị sẽ xoay vòng giữa kb / s, kb, b, và mb.
Dưới đây là ví dụ về lưu lượng truy cập được hiển thị bằng MB:
Tương tự, bạn có thể nhấn “s” và “r” để sắp xếp dữ liệu đầu ra theo dữ liệu được gửi và nhận, tương ứng. Và như mọi khi, "q" là để bỏ đầu ra.
Phần kết luận
NetHogs là lý tưởng cho các trường hợp khi bạn muốn bắt và giết quá trình đang hoạt động bất ngờ bằng cách ăn nhiều băng thông. Thêm vào đó, nó là một tiện ích mã nguồn mở, có nghĩa là bạn có thể nghiên cứu cách nó hoạt động, và thậm chí có thể tùy chỉnh nó theo cách bạn muốn.
Bạn đã từng sử dụng NetHogs hay bất kỳ công cụ tương tự nào khác chưa? Trải nghiệm của bạn thế nào? Chia sẻ suy nghĩ của bạn trong phần bình luận bên dưới.