Làm cách nào tôi có thể nhận được băng thông của giao diện tại bất kỳ giây nào từ dòng lệnh Linux?


3

Tôi đang thực hiện một dự án trường học trong đó tôi muốn có được băng thông của giao diện mạng tại bất kỳ giây nào hoặc một số khoảng thời gian nhỏ khác. Tôi cần điều này cho một kịch bản Perl tôi đang làm việc. Do đó, nó cần phải không tương tác và chỉ in kết quả.

Bất kỳ đề xuất?

Câu trả lời:


3

Số lượng byte được gửi và nhận bởi eth0 kể từ khi giao diện được đưa lên có thể được đọc /sys/class/net/eth0/statistics/tx_bytes/sys/class/net/eth0/statistics/rx_bytes tương ứng. Số lượng các gói có thể được đọc trong …/tx_packets…/rx_packets. Nếu bạn có một nhân cũ hơn không cung cấp các tệp này, dữ liệu sẽ có sẵn trong đầu ra của /sbin/ifconfig eth0.


Chính xác những gì tôi đang tìm kiếm.
Alex

0

Một cách tiếp cận đơn giản sẽ là:

  • thi hành ifconfig interface name một lần, nắm bắt đầu ra của nó
  • trích xuất các giá trị từ "byte byte" và "byte TX"
  • chờ một chút
  • lặp lại hai bước đầu tiên một lần nữa
  • tính toán đồng bằng

Câu trả lời tốt quá! Giải pháp của Gilles chỉ xảy ra để hoạt động hoàn hảo trong trường hợp của tôi.
Alex
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.