Hiệu suất / giám sát lưu lượng USB?


18

Trước hết, tôi tìm thấy một câu hỏi tương tự nhưng nó không thực sự giải quyết vấn đề của tôi. Tôi đang cố gắng khám phá xem bus USB cho thiết bị tôi đang sử dụng có phải là nút cổ chai trong chương trình của tôi không.

Làm cách nào tôi có thể giám sát bus USB (tương tự như cách hoạt động của màn hình gnome-system) để hiển thị việc sử dụng bus? Về cơ bản tôi muốn xác định khi nào xe buýt được 'tối đa'. Tôi đoán những gì tôi đang tìm kiếm là một số giao diện cho usbmon, vì có vẻ như nó sẽ làm những gì tôi cần.

Điều này xuất phát từ việc thử nghiệm USRP và GNU Radio. Tôi đang gặp phải tình huống có vẻ như bus USB có thể là một yếu tố hạn chế, vì vậy tôi đặt câu hỏi chung hơn về giám sát hiệu suất USB.


1
Trong khi wireshark và usbmon có được lưu lượng truy cập, tôi cần một cái gì đó có thể dễ dàng hơn cho tôi một ý tưởng về thông lượng và như vậy.
Ông Shickadance

Bạn có thấy bus USB đạt tối đa lý thuyết không? Bạn đã so sánh lưu lượng truy cập bạn nhận được với điểm chuẩn của phần cứng của bạn? Thông lượng tối đa thường phụ thuộc vào thiết bị được kết nối chứ không phải bus hệ thống, vì vậy để kiểm tra đúng cách, bạn sẽ cần một số phần cứng được chế tạo riêng cho mục đích đó.
Forcefsck

Câu trả lời:


4

usbmon cung cấp độ dài của mỗi gói được truyền, tôi sẽ tiếp cận điều này bằng cách viết chương trình nhanh để phân tích 0utệp (có dữ liệu cho tất cả các thiết bị USB.) Nó sẽ chọn ra bus USB và số thiết bị, sau đó tiếp tục chạy tổng cộng trường chiều dài gói theo cả hai hướng cho mỗi thiết bị.

Điều này sau đó sẽ cung cấp cho bạn lượng dữ liệu được truyền trên mỗi thiết bị, theo từng hướng. Nếu bạn in nó một lần trong một giây, bạn sẽ biết được thông lượng của mỗi thiết bị. Lưu ý rằng nó sẽ không bao gồm bất kỳ chi phí USB nào, nhưng nếu bạn so sánh các số liệu với một thiết bị có khả năng bão hòa băng thông có sẵn, bạn sẽ biết liệu bạn có đang tiến gần đến giới hạn hay không.


3
Tôi đã hy vọng cho một công cụ có sẵn, nhưng tôi cho rằng điều này là đủ.
Ông Shickadance

10

Sử dụng usbtop , nó cung cấp một cái nhìn tổng quan tuyệt vời về những thiết bị đang sử dụng bao nhiêu băng thông:

Bus ID 1 (USB bus number 1) To device   From device
  Device ID 1 :             0.00 kb/s   0.00 kb/s
  Device ID 2 :             0.00 kb/s   0.00 kb/s
Bus ID 2 (USB bus number 2) To device   From device
  Device ID 1 :             0.00 kb/s   0.00 kb/s
  Device ID 4 :             141.73 kb/s 13777.68 kb/s
  Device ID 5 :             9.98 kb/s   11.24 kb/s
  Device ID 6 :             0.00 kb/s   0.00 kb/s
  Device ID 7 :             0.00 kb/s   0.00 kb/s
  Device ID 8 :             141.71 kb/s 15257.26 kb/s

2
Cảm ơn đã chỉ cho tôi usbtop. Có vẻ hữu ích. Dưới đây là cách cài đặt nó: unix.stackexchange.com/a/489268/114401 .
Gabriel Staples

1
Trên Ubuntu 19.04, nó nằm trong kho chính thức, tức là đơn giản apt install usbtop.
luator

4

1. USBtop:

Như sebas chỉ ra , usbtop dường như cung cấp một mức thông tin hữu ích tối thiểu nhất định (mặc dù nó có thể tốt hơn nhiều), vì vậy tôi khuyên bạn nên dùng nó.

nhập mô tả hình ảnh ở đây

Đây là cách cài đặt nó:

  1. Nhân bản repo git:

    git clone https://github.com/aguinet/usbtop.git 
    
  2. Điều hướng đến thư mục vừa được tạo từ git clone:

    cd usbtop
    
  3. Cài đặt phụ thuộc:

    sudo apt update 
    sudo apt install libboost-dev libpcap-dev libboost-thread-dev libboost-system-dev 
    
  4. Tạo thư mục xây dựng cục bộ & cd vào đó:

    mkdir _build && cd _build 
    
  5. Chạy cmake để chuẩn bị xây dựng usbtop từ nguồn:

    cmake -DCMAKE_BUILD_TYPE=Release .. 
    
  6. Xây dựng usbtop từ nguồn:

    make 
    
  7. Cài đặt usbtop:

    sudo make install 
    
  8. Tải mô-đun nhân usbmon để mở quyền truy cập vào các bus USB (Tôi nghĩ đây là những gì nó làm, nhưng tôi biết nó là bắt buộc):

    sudo modprobe usbmon 
    
  9. Chạy usbtop (nếu điều này không hoạt động, sudo usbtopthay vào đó hãy sử dụng ):

    usbtop 
    

Nếu tôi bỏ lỡ bất cứ điều gì cho tôi biết trong các ý kiến.

Cài đặt tài liệu tham khảo:

2. Cập nhật: Bạn cũng có thể sử dụng iostatthay thế:

sudo apt install sysstat

Chạy trong khoảng thời gian 1 giây với:

iostat -d 1

HOẶC với các khoảng 0,1 giây với:

watch -n 0.1 iostat

Sản lượng mẫu của iostat -d 1:

nhập mô tả hình ảnh ở đây

Người giới thiệu:

https://askubfox.com/questions35361/how-do-i-monitor-disk-activity-on-a-specific-drive

Đọc thêm:

https://www.znetlive.com/blog/monitor-disk-io-windows-linux/

Liên quan:



0

Sử dụng htop, tôi ép F2cho Setup, cột được lựa chọn, bổ sung IO_READ_RATE, IO_WRITE_RATEhoặc IO_RATE, và tôi đã có thể thấy tốc độ mà các quy trình đã được đọc hoặc viết từ và đến đĩa.


Câu hỏi này là về lưu lượng USB, chứ không phải lưu lượng đĩa (ví dụ: webcam USB sử dụng bao nhiêu băng thông.)
Malvineous
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.