有个问题想请教一下。 两张 sd 卡,一张 32g,一张 256g,烧录镜像时,两张 sd 大概都是 17m/s,但是放入开发板后,能显著感受到性能差异,查看具体情况后,发现 io 等待极高,有没有可能是 sd 卡容量大造成的?还是说只可能是 sd 本身速度太慢?如果是第二个原因,那为什么烧录镜像速度又相同?
1
lcdtyph 2021-01-24 13:29:48 +08:00 via iPhone
烧录速度相同可能是因为你的读卡器是 usb 2.0 的
|
2
AndyAO 2021-01-24 13:36:35 +08:00
与外部进行通讯的时候,由于接口的限制,所以速度相同,但如果某些操作是在内部进行的,那么速度就会不一样,SD 卡这种东西就是容量越高的速度越快,而且还有可能质量更好.当然这只是我的猜测了.
|
3
3dwelcome 2021-01-24 13:41:18 +08:00
这就和硬盘的线性写入速度和 4k 速度有差距,是一个道理吧。
不是有人说过,开发板上 sd 卡 7x24 小时使用,基本上 3 个月就坏了。 |
4
LollipopKit OP @lcdtyph 好的谢谢,但是 usb2.0 最高 480mbps,但两张 sd 都是标称 u1 ( a1 )速率,远达不到 usb2.0 的限制,所以应该不是读卡器的问题
|
5
westoy 2021-01-24 13:48:49 +08:00 2
你用的 U2 的读卡器写的吧, 连续写入块文件 17M/s 基本都能到的啊. 加载系统后大量操作都是随机读写了, 就是拼颗粒拼协议了
主要看卡的类型、协议, 一般同品牌同型号同颗粒不同大小的, 大的性能会好一点, 不过 128G 也是极限了, 超过之后提升就有限了。 跨品牌跨型号就不好比了, 以前闪存卡天价的时候, 闪迪 200G 的 A1 还不如三星 64G 的红卡速度快。 还有一点就是量产的规模效应, 比如 200 ~ 300 的 SD 卡不一定比 100 多的同容量 tf 速度快 |
6
levn 2021-01-24 13:50:18 +08:00
先在电脑上给 sd 卡跑个分。
|
7
LollipopKit OP @3dwelcome 有道理。但是我觉得开发板 sd 坏应该是没有安全关机的问题。
|
8
3dwelcome 2021-01-24 13:51:23 +08:00
我开发程序的时候,确实有遇到过大片内存索引,导致性能极速下降的例子。而同样的代码,小片内存就很快。
但不确定楼主提到的 256g sd, 读写大量小文件,是不是真的比 32g 要慢。 |
9
LollipopKit OP @westoy 好的谢谢,大概了解了
|
10
wtks1 2021-01-24 14:10:33 +08:00 via Android
@LollipopKit 我记得以前的 USB2.0 的移动硬盘,无论哪家牌子的,最大传输速度好像都在二十几兆每秒
|
11
jdjingdian 2021-01-24 14:47:26 +08:00
我以前自己在树莓派上玩,然后发现用 sd 卡装系统,有时不小心直接断电后再启动会报文件系统错误,现在换成 rockpi4 用 emmc 了。
|
12
love 2021-01-24 17:40:52 +08:00 via Android
@jdjingdian 你是卡损坏还是文件系统损坏?文件系统都是日志的不应该啊,难道直接断电卡就容易坏掉了?
|
13
UnknownSky 2021-01-24 22:42:53 +08:00 via Android
@jdjingdian @love 非正常关机拔电源容易系统损坏,卡坏就是拼卡质量了。我树莓派 3B 从买来用了快 3 年,依旧是买机时顺便买的一张卡。24x7 运作,很少非法关机,一直没问题。至于 Rock64 系统老是挂,Armbian 定制系统老版本不大稳定,我也有这个情况,非卡的问题。后面几个版本就没出现这个问题了
|
14
systemcall 2021-01-25 14:13:02 +08:00
@LollipopKit #4
USB2.0 是 480Mbps 没错,但是 USB2.0 的读卡器确实只有不到 20MB/s 。用支持 USB3.0 的 U 盘也只有 20 多 MB/s,手上没有 USB3.0 的读卡器,不清楚速度如何 USB2.0 接 USB3.0 的 SSD,在启用了 UASP 的情况下有 40MB/s,但是只要同时读写就会掉到 20 左右甚至更低。接千兆网卡,iperf3 可以跑 300 多 Mbps 我笔记本是 PCIe 总线的读卡器,一般的 tf 卡加了个卡套放进去读,90 多 MB/30 多 MB 的读写,软件是 Crystaldiskmark |