การตรวจสอบประสิทธิภาพ / การจราจรของ USB?


18

ก่อนอื่นฉันพบคำถามที่คล้ายกันแต่ไม่สามารถแก้ปัญหาได้ ฉันกำลังพยายามค้นหาว่าบัส USB สำหรับอุปกรณ์ที่ฉันใช้เป็นคอขวดในโปรแกรมของฉันหรือไม่

ฉันจะตรวจสอบบัส USB ได้อย่างไร (คล้ายกับวิธีการที่ระบบ gnome-monitor-monitor) แสดงการใช้งานบัส โดยทั่วไปฉันต้องการที่จะระบุเมื่อรถบัสถูก 'maxed' ออก ฉันคิดว่าสิ่งที่ฉันกำลังมองหาคืออินเทอร์เฟซสำหรับ usbmon ซึ่งดูเหมือนว่าจะทำสิ่งที่ฉันต้องการ

สิ่งนี้มาจากการทดสอบ USRP และ GNU Radio ฉันพบสถานการณ์ที่บัส USB อาจเป็นปัจจัย จำกัด ดังนั้นฉันจึงถามคำถามทั่วไปเกี่ยวกับการตรวจสอบประสิทธิภาพ USB


1
ในขณะที่ wireshark และ usbmon ได้รับปริมาณการใช้งานฉันต้องการสิ่งที่สามารถให้ความคิดเกี่ยวกับปริมาณงานและเช่นนั้นได้ง่ายขึ้น
Mr. Shickadance

คุณเห็นบัส usb ถึงค่าสูงสุดทางทฤษฎีหรือไม่ คุณเปรียบเทียบปริมาณการใช้งานที่คุณได้รับกับเกณฑ์มาตรฐานของฮาร์ดแวร์ของคุณหรือไม่ ความเร็วในการรับส่งข้อมูลสูงสุดมักขึ้นอยู่กับอุปกรณ์ที่เชื่อมต่อและไม่ใช่บัสระบบดังนั้นในการทดสอบอย่างถูกต้องคุณจะต้องใช้ฮาร์ดแวร์บางอย่างที่สร้างขึ้นมาเพื่อวัตถุประสงค์นั้นโดยเฉพาะ
forcefsck

คำตอบ:


4

ตั้งแต่usbmonให้ความยาวของแต่ละแพ็คเก็ตที่ถ่ายโอนฉันจะเข้าใกล้สิ่งนี้โดยการเขียนโปรแกรมอย่างรวดเร็วเพื่อแยก0uไฟล์ (ซึ่งมีข้อมูลสำหรับอุปกรณ์ USB ทั้งหมด) มันจะเลือกบัส USB และหมายเลขอุปกรณ์จากนั้นเก็บผลรวมของ ฟิลด์ความยาวของแพ็กเก็ตในทั้งสองทิศทางสำหรับแต่ละอุปกรณ์

จากนั้นจะให้จำนวนข้อมูลที่ถ่ายโอนต่ออุปกรณ์ในแต่ละทิศทาง หากคุณพิมพ์ครั้งละหนึ่งวินาทีคุณจะได้รับความคิดที่ดีเกี่ยวกับปริมาณงานของอุปกรณ์แต่ละชิ้น โปรดทราบว่ามันจะไม่รวมค่าใช้จ่าย USB ใด ๆ แต่ถ้าคุณเปรียบเทียบตัวเลขกับอุปกรณ์ที่สามารถทำให้แบนด์วิดท์ที่มีอยู่เต็มอิ่มคุณจะรู้ว่าคุณใกล้ถึงขีด จำกัด แล้วหรือไม่


3
ฉันหวังว่าจะมีเครื่องมือที่มีอยู่แล้ว แต่ฉันคิดว่ามันจะเพียงพอ
Mr. Shickadance

10

ใช้usbtopมันให้ภาพรวมที่ดีของอุปกรณ์ที่ใช้แบนด์วิดท์เท่าไร:

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
usbtopขอขอบคุณที่ชี้ให้ฉันไป มันดูมีประโยชน์ นี่คือวิธีการติดตั้ง: unix.stackexchange.com/a/489268/114401
Gabriel Staples

1
บน Ubuntu 19.04 apt install usbtopมันอยู่ในที่เก็บอย่างเป็นทางการคือเพียง
luator

4

1. usbtop:

ในฐานะที่เป็นSebas คะแนนจาก , usbtopดูเหมือนว่าจะให้ระดับต่ำสุดบางข้อมูลที่เป็นประโยชน์ (แม้ว่ามันอาจจะดีกว่ามาก) ดังนั้นฉันขอแนะนำให้มัน

ป้อนคำอธิบายรูปภาพที่นี่

นี่คือวิธีการติดตั้ง:

  1. โคลน repo คอมไพล์:

    git clone https://github.com/aguinet/usbtop.git 
    
  2. นำทางไปยังไดเรกทอรีที่เพิ่งสร้างขึ้นจากgit clone:

    cd usbtop
    
  3. ติดตั้งการพึ่งพา:

    sudo apt update 
    sudo apt install libboost-dev libpcap-dev libboost-thread-dev libboost-system-dev 
    
  4. สร้างไดเรกทอรีสร้างท้องถิ่น & cd ลงไป:

    mkdir _build && cd _build 
    
  5. เรียกใช้ cmake เพื่อเตรียมสร้าง usbtop จากแหล่งที่มา:

    cmake -DCMAKE_BUILD_TYPE=Release .. 
    
  6. สร้าง usbtop จากแหล่งที่มา:

    make 
    
  7. ติดตั้ง usbtop:

    sudo make install 
    
  8. โหลดโมดูล usbmon kernel เพื่อเปิดการเข้าถึงบัส USB (ฉันคิดว่านี่คือสิ่งที่ทำ แต่ฉันรู้ว่ามันจำเป็น)

    sudo modprobe usbmon 
    
  9. เรียกใช้ usbtop (หากไม่ได้ผลให้ใช้sudo usbtopแทน):

    usbtop 
    

หากฉันไม่ได้รับอะไรแจ้งให้เราทราบในความคิดเห็น

ติดตั้งการอ้างอิง:

2. อัปเดต: คุณสามารถใช้iostatแทน:

sudo apt install sysstat

ทำงานเป็นระยะเวลา 1 วินาทีด้วย:

iostat -d 1

หรือด้วยช่วงเวลา 0.1 วินาทีด้วย:

watch -n 0.1 iostat

ตัวอย่างผลลัพธ์ของiostat -d 1:

ป้อนคำอธิบายรูปภาพที่นี่

อ้างอิง:

/ubuntu/3561/how-do-i-monitor-disk-activity-on-a-specific-drive

อ่านเพิ่มเติม:

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

ที่เกี่ยวข้อง:


2

ฉันได้เขียนเชลล์สคริปต์หนึ่งคู่เพื่อรับปริมาณงานจากอุปกรณ์ USB หากใครจะใช้มันคุณสามารถค้นหาได้ในโพสต์นี้



สคริปต์จะขึ้นอยู่กับusbmonว่าจะต้องติดตั้ง / รวบรวม (?) ด้วยตนเอง
แจ็คมิลเลอ

0

ใช้htopผมกดF2สำหรับSetupคอลัมน์ที่เลือกเพิ่มIO_READ_RATE, IO_WRITE_RATEหรือIO_RATEและฉันก็สามารถที่จะเห็นความเร็วที่กระบวนการถูกอ่านหรือเขียนจากและไปยังดิสก์


คำถามนี้เกี่ยวกับทราฟฟิก USB ไม่ใช่ทราฟฟิกดิสก์ (เช่นใช้แบนด์วิดธ์ที่เว็บแคม USB ใช้
เท่าไร
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.