USB प्रदर्शन / यातायात की निगरानी?


18

सबसे पहले, मुझे एक समान प्रश्न मिला लेकिन यह वास्तव में मेरी समस्या का समाधान नहीं करता है। मैं यह जानने की कोशिश कर रहा हूं कि क्या मैं जिस डिवाइस का उपयोग कर रहा हूं उसके लिए यूएसबी बस मेरे कार्यक्रम में अड़चन है।

मैं बस उपयोग को दिखाने के लिए एक USB बस (gnome-system-monitor कैसे काम करता है) के समान मॉनिटर कर सकता हूं? मूल रूप से मैं पहचानना चाहता हूं कि बस को 'अधिकतम' किया जा रहा है या नहीं। मुझे लगता है कि मैं जो देख रहा हूं वह usbmon के लिए कुछ इंटरफ़ेस है, जैसा कि प्रतीत होता है कि यह वही होगा जो मुझे चाहिए।

यह USRP और GNU रेडियो के परीक्षण से आया है। मैं ऐसी स्थिति में भाग रहा हूं, जहां यह प्रतीत होता है कि USB बस एक सीमित कारक हो सकती है, इसलिए मैं USB प्रदर्शन निगरानी के अधिक सामान्य प्रश्न पूछता हूं।


1
जबकि वायरशार्क और usbmon को ट्रैफ़िक मिलता है, मुझे कुछ ऐसा चाहिए जो मुझे आसानी से थ्रूपुट और इस तरह का विचार दे सके।
मि। शिखाडांस

क्या आप USB बस को उसके सैद्धांतिक अधिकतम तक पहुँचते हुए देखते हैं? क्या आपने अपने हार्डवेयर के बेंचमार्क से प्राप्त ट्रैफ़िक की तुलना की ? मैक्स थ्रूपुट आमतौर पर डिवाइस से जुड़ा होता है और सिस्टम बस पर नहीं, इसलिए इसे ठीक से जांचने के लिए आपको विशेष रूप से उस उद्देश्य के लिए बनाए गए कुछ हार्डवेयर की आवश्यकता होगी।
फ़ोर्सफ़स्क

जवाबों:


4

चूंकि usbmon स्थानांतरित किए गए प्रत्येक पैकेट की लंबाई प्रदान करता है, इसलिए मैं 0uफ़ाइल को पार्स करने के लिए एक त्वरित कार्यक्रम लिखकर संपर्क करूंगा (जिसमें सभी यूएसबी उपकरणों के लिए डेटा है।) यह यूएसबी बस और डिवाइस नंबर को बाहर निकाल देगा, फिर एक चालू कुल रख देगा। प्रत्येक डिवाइस के लिए दोनों दिशाओं में पैकेट लंबाई फ़ील्ड।

यह तब आपको प्रत्येक दिशा में, प्रति डिवाइस स्थानांतरित किए गए डेटा की मात्रा देगा। यदि आप इसे एक बार प्रिंट करते हैं, तो आपको प्रत्येक डिवाइस के थ्रूपुट का एक अच्छा विचार मिलेगा। ध्यान दें कि इसमें कोई USB ओवरहेड शामिल नहीं होगा, लेकिन यदि आप किसी ऐसे उपकरण के आंकड़ों की तुलना करते हैं जो उपलब्ध बैंडविड्थ को संतृप्त करने में सक्षम है, तो आपको पता चल जाएगा कि आप सीमा के करीब पहुंच रहे हैं या नहीं।


3
मैं पहले से मौजूद टूल की उम्मीद कर रहा था, लेकिन मुझे लगता है कि यह पर्याप्त होगा।
श्री शिखाडांस

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
गेब्रियल स्टेपल्स

1
उबंटू 19.04 पर यह आधिकारिक रिपॉजिटरी में है, बस apt install usbtop
ल्यूकोर

4

1. usbtop:

जैसा कि sebas बताते हैं , usbtop एक निश्चित न्यूनतम स्तर की उपयोगी जानकारी देता है (हालाँकि यह बहुत बेहतर हो सकता है), इसलिए आप इसे सुझाते हैं।

यहाँ छवि विवरण दर्ज करें

इसे स्थापित करने का तरीका यहां दिया गया है:

  1. क्लोन द रेपो:

    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. इसमें स्थानीय बिल्ड निर्देशिका और सीडी बनाएँ:

    mkdir _build && cd _build 
    
  5. स्रोत से usbtop बनाने के लिए तैयार करने के लिए सेमी चलाएं:

    cmake -DCMAKE_BUILD_TYPE=Release .. 
    
  6. स्रोत से usbtop बनाएँ:

    make 
    
  7. Usbtop स्थापित करें:

    sudo make install 
    
  8. USB बसों की पहुंच खोलने के लिए usbmon कर्नेल मॉड्यूल लोड करें (मुझे लगता है कि यह वही करता है, लेकिन मुझे पता है कि इसकी आवश्यकता है):

    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लिए दबाया , और मैं उस गति को देखने में सक्षम था, जिस पर प्रक्रियाएं पढ़ रही थीं या लिख ​​रही थीं और डिस्क से।SetupIO_READ_RATEIO_WRITE_RATEIO_RATE


यह प्रश्न USB ट्रैफ़िक के बारे में है, डिस्क ट्रैफ़िक के बारे में नहीं (उदाहरण के लिए USB वेबकैम कितना बैंडविड्थ का उपयोग करता है।)
Malvineous
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.