USB performance/traffic monitor?

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
8
down vote

favorite
1












First of all, I found a similar question but it doesn't really solve my problem. I am trying to discover if the USB bus for a device I am using is the bottleneck in my program.



How can I monitor a USB bus (similar to how gnome-system-monitor works) to show bus utilization? Basically I want to identify when the bus is being 'maxed' out. I guess what I am looking for is some interface for usbmon, as that appears like it would do what I need.



This came about from testing the USRP and GNU Radio. I am running into a situation where it appears that the USB bus could be a limiting factor, so I ask the more general question of USB performance monitoring.










share|improve this question























  • While wireshark and usbmon get the traffic, I need something that can more easily give me an idea of throughput and such.
    – Mr. Shickadance
    Apr 5 '11 at 14:38










  • Do you see the usb bus reaching its theoretical maximum? Did you compare the traffic you get with benchmarks of your hardware? Max throughput is usually depended on the device connected and not the system bus, so to test it properly you'll need some hardware specifically made for that purpose.
    – forcefsck
    Apr 13 '11 at 17:21















up vote
8
down vote

favorite
1












First of all, I found a similar question but it doesn't really solve my problem. I am trying to discover if the USB bus for a device I am using is the bottleneck in my program.



How can I monitor a USB bus (similar to how gnome-system-monitor works) to show bus utilization? Basically I want to identify when the bus is being 'maxed' out. I guess what I am looking for is some interface for usbmon, as that appears like it would do what I need.



This came about from testing the USRP and GNU Radio. I am running into a situation where it appears that the USB bus could be a limiting factor, so I ask the more general question of USB performance monitoring.










share|improve this question























  • While wireshark and usbmon get the traffic, I need something that can more easily give me an idea of throughput and such.
    – Mr. Shickadance
    Apr 5 '11 at 14:38










  • Do you see the usb bus reaching its theoretical maximum? Did you compare the traffic you get with benchmarks of your hardware? Max throughput is usually depended on the device connected and not the system bus, so to test it properly you'll need some hardware specifically made for that purpose.
    – forcefsck
    Apr 13 '11 at 17:21













up vote
8
down vote

favorite
1









up vote
8
down vote

favorite
1






1





First of all, I found a similar question but it doesn't really solve my problem. I am trying to discover if the USB bus for a device I am using is the bottleneck in my program.



How can I monitor a USB bus (similar to how gnome-system-monitor works) to show bus utilization? Basically I want to identify when the bus is being 'maxed' out. I guess what I am looking for is some interface for usbmon, as that appears like it would do what I need.



This came about from testing the USRP and GNU Radio. I am running into a situation where it appears that the USB bus could be a limiting factor, so I ask the more general question of USB performance monitoring.










share|improve this question















First of all, I found a similar question but it doesn't really solve my problem. I am trying to discover if the USB bus for a device I am using is the bottleneck in my program.



How can I monitor a USB bus (similar to how gnome-system-monitor works) to show bus utilization? Basically I want to identify when the bus is being 'maxed' out. I guess what I am looking for is some interface for usbmon, as that appears like it would do what I need.



This came about from testing the USRP and GNU Radio. I am running into a situation where it appears that the USB bus could be a limiting factor, so I ask the more general question of USB performance monitoring.







usb performance monitoring






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Apr 13 '17 at 12:36









Community

1




1










asked Apr 5 '11 at 14:36









Mr. Shickadance

2,18961825




2,18961825











  • While wireshark and usbmon get the traffic, I need something that can more easily give me an idea of throughput and such.
    – Mr. Shickadance
    Apr 5 '11 at 14:38










  • Do you see the usb bus reaching its theoretical maximum? Did you compare the traffic you get with benchmarks of your hardware? Max throughput is usually depended on the device connected and not the system bus, so to test it properly you'll need some hardware specifically made for that purpose.
    – forcefsck
    Apr 13 '11 at 17:21

















  • While wireshark and usbmon get the traffic, I need something that can more easily give me an idea of throughput and such.
    – Mr. Shickadance
    Apr 5 '11 at 14:38










  • Do you see the usb bus reaching its theoretical maximum? Did you compare the traffic you get with benchmarks of your hardware? Max throughput is usually depended on the device connected and not the system bus, so to test it properly you'll need some hardware specifically made for that purpose.
    – forcefsck
    Apr 13 '11 at 17:21
















While wireshark and usbmon get the traffic, I need something that can more easily give me an idea of throughput and such.
– Mr. Shickadance
Apr 5 '11 at 14:38




While wireshark and usbmon get the traffic, I need something that can more easily give me an idea of throughput and such.
– Mr. Shickadance
Apr 5 '11 at 14:38












Do you see the usb bus reaching its theoretical maximum? Did you compare the traffic you get with benchmarks of your hardware? Max throughput is usually depended on the device connected and not the system bus, so to test it properly you'll need some hardware specifically made for that purpose.
– forcefsck
Apr 13 '11 at 17:21





Do you see the usb bus reaching its theoretical maximum? Did you compare the traffic you get with benchmarks of your hardware? Max throughput is usually depended on the device connected and not the system bus, so to test it properly you'll need some hardware specifically made for that purpose.
– forcefsck
Apr 13 '11 at 17:21











3 Answers
3






active

oldest

votes

















up vote
3
down vote



accepted










Since usbmon provides the length of each packet transferred, I would approach this by writing a quick program to parse the 0u file (which has data for all USB devices.) It would pick out the USB bus and device numbers, then keep a running total of the packet length field in both directions for each device.



This will then give you the amount of data transferred per device, in each direction. If you print it once a second you'll get a pretty good idea of each device's throughput. Note that it won't include any USB overhead, but if you compare the figures to a device that is able to saturate the available bandwidth you'll know whether you're getting close to the limit.






share|improve this answer
















  • 1




    I was hoping for a pre-existing tool, but I suppose this will be sufficient.
    – Mr. Shickadance
    Apr 18 '11 at 22:12

















up vote
2
down vote













Use usbtop, it gives a nice overview of what devices are using how much bandwidth:



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





share|improve this answer



























    up vote
    1
    down vote













    I've wrote a pair of shell scripts to get the throughput from a USB device. If someone what to use it, you can find it in this post.






    share|improve this answer




















      Your Answer








      StackExchange.ready(function()
      var channelOptions =
      tags: "".split(" "),
      id: "106"
      ;
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function()
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled)
      StackExchange.using("snippets", function()
      createEditor();
      );

      else
      createEditor();

      );

      function createEditor()
      StackExchange.prepareEditor(
      heartbeatType: 'answer',
      convertImagesToLinks: false,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: null,
      bindNavPrevention: true,
      postfix: "",
      imageUploader:
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      ,
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      );



      );













       

      draft saved


      draft discarded


















      StackExchange.ready(
      function ()
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f10671%2fusb-performance-traffic-monitor%23new-answer', 'question_page');

      );

      Post as a guest















      Required, but never shown

























      3 Answers
      3






      active

      oldest

      votes








      3 Answers
      3






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes








      up vote
      3
      down vote



      accepted










      Since usbmon provides the length of each packet transferred, I would approach this by writing a quick program to parse the 0u file (which has data for all USB devices.) It would pick out the USB bus and device numbers, then keep a running total of the packet length field in both directions for each device.



      This will then give you the amount of data transferred per device, in each direction. If you print it once a second you'll get a pretty good idea of each device's throughput. Note that it won't include any USB overhead, but if you compare the figures to a device that is able to saturate the available bandwidth you'll know whether you're getting close to the limit.






      share|improve this answer
















      • 1




        I was hoping for a pre-existing tool, but I suppose this will be sufficient.
        – Mr. Shickadance
        Apr 18 '11 at 22:12














      up vote
      3
      down vote



      accepted










      Since usbmon provides the length of each packet transferred, I would approach this by writing a quick program to parse the 0u file (which has data for all USB devices.) It would pick out the USB bus and device numbers, then keep a running total of the packet length field in both directions for each device.



      This will then give you the amount of data transferred per device, in each direction. If you print it once a second you'll get a pretty good idea of each device's throughput. Note that it won't include any USB overhead, but if you compare the figures to a device that is able to saturate the available bandwidth you'll know whether you're getting close to the limit.






      share|improve this answer
















      • 1




        I was hoping for a pre-existing tool, but I suppose this will be sufficient.
        – Mr. Shickadance
        Apr 18 '11 at 22:12












      up vote
      3
      down vote



      accepted







      up vote
      3
      down vote



      accepted






      Since usbmon provides the length of each packet transferred, I would approach this by writing a quick program to parse the 0u file (which has data for all USB devices.) It would pick out the USB bus and device numbers, then keep a running total of the packet length field in both directions for each device.



      This will then give you the amount of data transferred per device, in each direction. If you print it once a second you'll get a pretty good idea of each device's throughput. Note that it won't include any USB overhead, but if you compare the figures to a device that is able to saturate the available bandwidth you'll know whether you're getting close to the limit.






      share|improve this answer












      Since usbmon provides the length of each packet transferred, I would approach this by writing a quick program to parse the 0u file (which has data for all USB devices.) It would pick out the USB bus and device numbers, then keep a running total of the packet length field in both directions for each device.



      This will then give you the amount of data transferred per device, in each direction. If you print it once a second you'll get a pretty good idea of each device's throughput. Note that it won't include any USB overhead, but if you compare the figures to a device that is able to saturate the available bandwidth you'll know whether you're getting close to the limit.







      share|improve this answer












      share|improve this answer



      share|improve this answer










      answered Apr 17 '11 at 4:09









      Malvineous

      1,85811633




      1,85811633







      • 1




        I was hoping for a pre-existing tool, but I suppose this will be sufficient.
        – Mr. Shickadance
        Apr 18 '11 at 22:12












      • 1




        I was hoping for a pre-existing tool, but I suppose this will be sufficient.
        – Mr. Shickadance
        Apr 18 '11 at 22:12







      1




      1




      I was hoping for a pre-existing tool, but I suppose this will be sufficient.
      – Mr. Shickadance
      Apr 18 '11 at 22:12




      I was hoping for a pre-existing tool, but I suppose this will be sufficient.
      – Mr. Shickadance
      Apr 18 '11 at 22:12












      up vote
      2
      down vote













      Use usbtop, it gives a nice overview of what devices are using how much bandwidth:



      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





      share|improve this answer
























        up vote
        2
        down vote













        Use usbtop, it gives a nice overview of what devices are using how much bandwidth:



        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





        share|improve this answer






















          up vote
          2
          down vote










          up vote
          2
          down vote









          Use usbtop, it gives a nice overview of what devices are using how much bandwidth:



          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





          share|improve this answer












          Use usbtop, it gives a nice overview of what devices are using how much bandwidth:



          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






          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Jan 22 '17 at 12:13









          sebas

          211




          211




















              up vote
              1
              down vote













              I've wrote a pair of shell scripts to get the throughput from a USB device. If someone what to use it, you can find it in this post.






              share|improve this answer
























                up vote
                1
                down vote













                I've wrote a pair of shell scripts to get the throughput from a USB device. If someone what to use it, you can find it in this post.






                share|improve this answer






















                  up vote
                  1
                  down vote










                  up vote
                  1
                  down vote









                  I've wrote a pair of shell scripts to get the throughput from a USB device. If someone what to use it, you can find it in this post.






                  share|improve this answer












                  I've wrote a pair of shell scripts to get the throughput from a USB device. If someone what to use it, you can find it in this post.







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Sep 9 '13 at 16:27









                  Pipe

                  1111




                  1111



























                       

                      draft saved


                      draft discarded















































                       


                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function ()
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f10671%2fusb-performance-traffic-monitor%23new-answer', 'question_page');

                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown






                      Popular posts from this blog

                      Peggy Mitchell

                      Palaiologos

                      The Forum (Inglewood, California)