如何对嵌入式 Linux 设备中的内存进行基准测试?

如何对嵌入式 Linux 设备中的内存进行基准测试?

是否有通用实用程序可以对嵌入式设备(例如树莓派)上的外部存储设备(eMMC、DDR)吞吐量进行基准测试? memtester,邦妮,邦妮++,memtest,dd?

我一直遇到与“不幸福的事“一些open标志以及 Linux 缓存内容并为我提供了非凡的读取速度这一事实。我最终放弃了 C 应用程序并直接从命令行测试了 10MiB 操作dd

eMMC的顺序写入测试

sync; echo 3 > /proc/sys/vm/drop_caches; time dd if=/dev/zero of=/dev/mydevicepartition count=20 bs=524288 conv=fsync

eMMC顺序读取测试

sync; echo 3 > /proc/sys/vm/drop_caches; time dd if=/dev/mydevicepartition of=/dev/null count=20 bs=524288

别人在这个论坛似乎也有类似的问题。

答案1

你有没有看过Linux 基准测试套件?它包括多种工具来测量各种存储格式的性能,包括磁盘(存储卡等)和内存(RAM、L1 和 L2 缓存等)。

答案2

使用 dd 选项 oflag 直接绕过 RAM 缓存。建议使用 eMMC 擦除块大小(通常为 4M-16M)量级的块大小,以获得最佳写入性能。

选择正确的基准显然取决于嵌入式设备的应用。

移动测试平台:https://github.com/ESOS-Lab/mobibench

IO区:http://www.iozone.org/

日:http://man7.org/linux/man-pages/man1/dd.1.html

是一些经常使用的应用程序。

相关内容