linux下 DDR,SD卡速度测试

一、内存(DDR)测试

主要是捕获内存错误和一直处于很高或者很低的坏位, 其测试的主要项目有随
机值,异或比较,减法,乘法,除法,与或运算等等。

测试工具memtester
格式:memtester 内存数量 次数

root@ATK-IMX6U:~# memtester 8M 1
memtester version 4.3.0 (32-bit)
Copyright (C) 2001-2012 Charles Cazabon.
Licensed under the GNU General Public License version 2 (only).

pagesize is 4096
pagesizemask is 0xfffff000
want 8MB (8388608 bytes)
got  8MB (8388608 bytes), trying mlock ...locked.
Loop 1/1:
  Stuck Address       : ok
  Random Value        : ok
  Compare XOR         : ok
  Compare SUB         : ok
  Compare MUL         : ok
  Compare DIV         : ok
  Compare OR          : ok
  Compare AND         : ok
  Sequential Increment: ok
  Solid Bits          : ok
  Block Sequential    : ok
  Checkerboard        : ok
  Bit Spread          : ok
  Bit Flip            : ok
  Walking Ones        : ok
  Walking Zeroes      : ok

Done.

二、TF卡测试

time 命令常用于测量一个命令的运行时间,dd 用于复制,从 if(input file)文件读出,写到of(output file)指定的文件,bs 是每次写块的大小,count 是读写块的数量。"if=/dev/zero"不产生IO,即可以不断输出数据,因此可以用来测试纯写速度。

写速度

root@ATK-IMX6U:/# time dd if=/dev/zero of=/run/media/mmcblk0p1/test bs=1024k count=50 conv=fdatasync
50+0 records in
50+0 records out
52428800 bytes (52 MB, 50 MiB) copied, 4.79732 s, 10.9 MB/s

real    0m4.822s
user    0m0.030s
sys     0m0.810s

这里一共写入 50 MiB test 文件,速度为 10.9MB/s

执行下面指令清除缓存

echo 3 > /proc/sys/vm/drop_caches

读速度

root@ATK-IMX6U:/# time dd if=/run/media/mmcblk0p1/test of=/dev/null bs=1024k
50+0 records in
50+0 records out
52428800 bytes (52 MB, 50 MiB) copied, 2.86351 s, 18.3 MB/s

real    0m2.927s
user    0m0.020s
sys     0m0.260s

这里一共读取 50 MiB test 文件,速度为 18.3MB/s

### MIG DDR4 内存读写速度计算方法 MIG (Multi-Instance GPU) 技术允许将单个 NVIDIA A100 或其他支持的 GPU 划分为多个独立实例,从而提高资源利用率并优化工作负载分配。对于 DDR4 内存而言,其读写速度通常由以下几个因素决定: #### 1. 数据传输速率 DDR4 的数据传输速率基于时钟频率和突发长度来定义。标准公式如下: \[ \text{理论带宽} = (\text{线宽度}/8) \times \text{有效频率} \times 2 \] 其中,“\(2\)" 表示 DDR(Double Data Rate)技术可以在每个时钟周期内完成两次数据传输[^1]。 例如,如果 DDR4 使用的是 \(2666\) MT/s (兆转换每秒),并且具有 \(64\)-bit 线宽度,则可以得出以下结果: ```python bus_width_bits = 64 effective_frequency_MHz = 2666 theoretical_bandwidth_GB_per_s = (bus_width_bits / 8) * effective_frequency_MHz / 1000 * 2 print(f"Theoretical Bandwidth: {theoretical_bandwidth_GB_per_s:.2f} GB/s") ``` 运行上述代码会得到大约 \(42.66\) GB/s 的理论带宽。 #### 2. 实际性能影响因素 尽管有理论上的最大带宽,实际应用中的内存读写速度可能会受到多种因素的影响,包括但不限于: - **延迟**:访问时间直接影响整体吞吐量。 - **控制器效率**:CPU 或 SoC 中集成的内存控制器设计会影响最终表现。 - **并发请求管理**:多任务环境下的竞争可能导致瓶颈效应。 因此,在具体场景下测量真实世界里的 DDR4 存储子系统的效能非常重要。 #### 3. 测量工具和技术 为了精确评估某款特定硬件配置下的 DDR4 内存性能,可采用专门软件如 AIDA64 Extreme Edition 进行基准测试;或者编写自定义程序利用循环缓冲区填充与清空操作模拟连续 IO 负载模式,并记录耗时时长进而推导出平均传输率。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

为了维护世界和平_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值