19

I have an embedded Linux ARM system that is showing significantly less throughput than expected on both Ethernet and USB. I suspect the memory may be contributing. Is there a way to observe the memory bandwidth that is consumed while running a throughput test on the Ethernet or USB?

Shawn J. Goff
  • 45,338
  • 25
  • 134
  • 145

2 Answers2

5

There is a memory bandwidth benchmark available in open source. It works for Intel & ARM under Linux or Windows Mobile CE.

It will give you raw performance for your memory as well as system performance with memory. But it won't give you a real-time bandwidth, so I don't know if it's a good answer to your question.

There's also a memtop tool out there, but it's more about usage than bandwidth. Perf tool can be handy in order to detect page fault.

waterproof
  • 107
  • 4
Coren
  • 4,970
  • 1
  • 24
  • 43
  • 3
    "The project has migrated to [https://github.com/MartinThoma/memtop](https://github.com/MartinThoma/memtop)." – Bengt Oct 22 '16 at 14:21
5

In Debian and derivatives like Ubuntu you can run the "mbw" command

$ sudo apt-get install mbw

Then execute a 2GB memory test (assuming you have enough RAM for that without affecting other applications and swapping)...

$ mbw 2048

DanglingPointer
  • 204
  • 2
  • 8