Làm thế nào để tôi tìm ra quá trình nào ăn hết băng thông của tôi?


184

Tôi nghĩ rằng tôi là nạn nhân của một lỗi ở đây. Đôi khi trong khi tôi đang làm việc (tôi vẫn không biết tại sao), lưu lượng truy cập mạng của tôi lên tới 200 KB / giây và vẫn như vậy, thậm chí khó khăn là tôi không làm gì liên quan đến internet.

Điều này đôi khi xảy ra với tôi với việc sử dụng CPU. Khi nó hoạt động, tôi chỉ cần chạy một toplệnh để tìm ra quá trình nào chịu trách nhiệm và sau đó killnó. Vấn đề là: Tôi không có cách nào để biết quy trình nào chịu trách nhiệm cho việc sử dụng mạng cao của mình. Cả trình giám sát tài nguyên và toplệnh chỉ cho tôi biết tổng mức sử dụng mạng của tôi, không ai trong số họ cho tôi xử lý thông tin mạng cụ thể.

Tôi đã tìm thấy câu hỏi ở đây về việc giám sát tổng mức sử dụng băng thông, nhưng, như tôi đã đề cập, đó không phải là điều tôi cần. Có một lệnh khác tôi có thể sử dụng để tìm ra quá trình nào đang vượt quá tầm tay?

Lệnh iftopđưa ra kết quả không đồng ý hoàn toàn với thông tin được báo cáo bởi System Monitor. Mặc dù tuyên bố sau có lưu lượng truy cập mạng cao, nhưng trước đây tuyên bố chỉ có 1 KB / s.

Tôi đã cố gắng giết tất cả những thứ hiển nhiên (Firefox, trình quản lý cập nhật, Pidgin, v.v.) không có may mắn. Cho đến nay, khởi động lại máy là cách duy nhất tôi tìm thấy để thoát khỏi vấn đề.

Câu trả lời:


221

Tôi đã có rất nhiều thành công với nethogs . Nó phải chạy bằng root nhưng có nhiều cách khác nhau để bạn có thể sắp xếp số liệu thống kê (như KB / s hoặc tổng băng thông được theo dõi kể từ khi nethogs bắt đầu).

Ngoài ra, nếu bạn sử dụng không dây, bạn cần chuyển thiết bị cho nó.

Cài đặt nó bằng lệnh: sudo apt-get install nethogs

Thí dụ: sudo nethogs wlan0


Khi kiểm tra kỹ hơn, thực sự khó chịu khi nó giả sử thiết bị đầu cuối luôn rộng 80 ký tự và cắt ngắn lệnh.
Li Lo

3
Đã được một lúc, nhưng câu trả lời này thực sự đơn giản hơn đáng kể.
Malabarba

2
nethogslà tốt đẹp, nhưng nó dường như sử dụng cách cpu thêm về máy tính của tôi hơniftop
Aidan

4
Được cảnh báo về một lỗi làm cho một số phiên bản của nethogkhông sử dụng được: askubuntu.com/questions/726601/...
Rmano

3
Bạn không cần phải vượt qua thiết bị nếu bạn đang sử dụng không dây. sudo nethogshoạt động tốt
Ads20000

55

Sử dụng iftopđể xác định vị trí cổng TCP trên máy của bạn đang nhận được lưu lượng truy cập nhiều nhất. Sau đó sử dụng sudo netstat -tupđể xác định vị trí quá trình "sở hữu" cổng đó.

Đó là quá trình bạn đang tìm kiếm.

PS: Cũng nên làm việc cho UDP.


Cảm ơn, lệnh dường như hoạt động, nhưng tôi nhận được kết quả lạ. Giám sát hệ thống yêu cầu tổng cộng khoảng 180KB / giây, trong khi iftopyêu cầu tổng cộng chỉ khoảng 1 kilobyte mỗi giây.
Malabarba

1
Tôi chấp nhận câu trả lời vì nó trả lời câu hỏi ban đầu. Nhưng tôi sẽ rất tuyệt nếu tôi có thể hiểu chuyện gì đang xảy ra ở đây.
Malabarba

iptop hiển thị số liệu thống kê cho một giao diện duy nhất. Tôi không chắc màn hình hệ thống chỉ nhìn vào một giao diện hay tất cả chúng. Nếu đó là trường hợp thì sẽ có lưu lượng truy cập được hiển thị bởi màn hình Hệ thống nhưng không được hiển thị bởi iftop, điều đó cũng không sao vì bạn chỉ muốn nhìn vào giao diện internet của mình (và không phải lo). Tôi vừa thử nghiệm iftop trên hệ thống của mình và nó cho thấy những gì tôi mong đợi. Tuy nhiên, hãy lưu ý rằng iftop hiển thị trung bình trên 2 giây, 10 giây, 40 giây tương ứng. Tôi đã chạy iftop như 'sudo iftop -i eth0 -nPB', bạn đã chạy nó như thế nào?
Li Lo

Tôi chạy nó như sudo iftop -B -i eth0, điều đó có nghĩa là nó chỉ nhìn vào lưu lượng truy cập internet của tôi phải không? Nó đã không xảy ra với tôi rằng màn hình hệ thống cũng có thể đang kiểm tra các giao diện khác. Trớ trêu thay, vấn đề đã biến mất 10 phút trước (sau nhiều giờ), vì vậy bây giờ tôi không thể kiểm tra iftoplại. Giao diện lo là gì?
Malabarba

3
Vì có rất nhiều số trên màn hình iftop, tôi đã tạo một ảnh chụp màn hình trong đó tôi đánh dấu số bạn quan tâm. So sánh số đó với màn hình Hệ thống. Ảnh chụp màn hình là tại imgur.com/2iuiI . "Lo" là viết tắt của localhost, đó là một giao diện thông qua đó các chương trình cục bộ có thể giao tiếp với nhau.
Li Lo

14

Bạn có thể muốn xem xét ntop- sẽ theo dõi hoạt động mạng ở cấp độ quy trình. Bạn có thể tìm thấy ntoptrong Trung tâm phần mềm hoặc vớisudo apt-get install ntop

Để được hướng dẫn cài đặt, hãy theo dõi trang của họ http://packages.ntop.org/


2
không có sẵn với Ubuntu 17.04 (zesty)
shadi

thấy packages.ntop.org/apt-stable cho Repos cho các phiên bản sau này của ubuntu. cũng vậyapt-get install ntopng
dw1

7

Một cách khác là iptraf. Nó sẽ không cung cấp cho bạn PID của quá trình, nhưng sẽ cho bạn biết kết nối nào sử dụng bao nhiêu băng thông.


6

Trả lời muộn, nhưng tôi đã có cùng một vấn đề. Hóa ra là Ubuntuone. Tìm thấy rằng bằng cách chạy tcpdump. Tôi đã trải qua các đường cong học tập tương tự về nhận dạng quá trình.

Từ ghi chú của tôi :

Thông tin kết nối hộp Ubuntu

Bắt đầu máy tính để bàn Ubuntu 10.04 của tôi sáng nay để thấy rằng sau vài phút, kết nối Internet đang được thu thập thông tin. Tôi đã thấy điều này trên các hộp Windows trước đây và 99% là phần mềm gián điệp. Vì vậy, tôi cần phải điều tra ... kiểu dòng lệnh.

tcpdump. Cho thấy Ubuntuone phát điên.

Hệ thống> Tùy chọn> Ubuntu One. Tắt tất cả đồng bộ hóa. Điều đó đã làm nó.

Vì vậy, tôi nghĩ rằng tôi muốn xem tất cả các kết nối mạng và những gì họ đang làm. tôi có thể

netstat -cW (liệt kê các kết nối mạng liên tục ở định dạng rộng để địa chỉ nước ngoài không bị cắt ngắn)

lsof -i |grep -v 'Localhost' (liệt kê các tệp đang mở khớp với địa chỉ Internet của bất kỳ, grep để xóa mọi tệp đang mở liên kết với localhost - tôi nghĩ rằng tôi không muốn thấy các dịch vụ cục bộ vì chúng có thể sẽ không ảnh hưởng đến việc sử dụng mạng).

Một số thứ cần mang đi:

  1. Cần tìm hiểu về nhật ký Ubuntu để khắc phục sự cố.
  2. Cần tìm hiểu thêm về tcpdump, vì vậy tôi sẽ bắt đầu với hướng dẫn này của Daniel Miessler .

Lưu ý của biên tập viên: Câu trả lời này được đề cập đến bài viết blogspot của tinker chỉ dành cho người dùng được mời. Vì câu trả lời này đã được đánh giá cao, vì vậy nó có giá trị. Tôi tìm thấy một bản sao của bài viết trên Wayback Machine . Và bao gồm điều đó ở đâ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.