请问一下各位大佬,我往 tf 卡写文件的时候,发现偶尔会出现几次卡顿 4-5s 的情况。往一个文件里面连续写入 1000 次 100k 数据,记录 write 的运行时间,写 10 几个文件的测试 demo 。换成了 exfat ,有改善。但是客户要求用 fat32 ,这个有办法优化嘛。
|  |      1zzzyk OP 整理过碎片,好像也没啥用,该出现还是出现。最大出现过 8s 的情况。 | 
|      2roykingH      2024-10-31 13:55:59 +08:00 发热了吧   写的时候摸一下卡  看看热不热 | 
|  |      3ReZer0      2024-10-31 14:01:43 +08:00 先定位下问题在于读卡设备还是在于卡。如果问题在卡,看是否能换卡解决。 | 
|  |      4zzzyk OP @royking930911 不烫 | 
|  |      6minami      2024-10-31 14:12:25 +08:00 via Android 同一个文件频繁读写吗?可以改用 mmap 看看能否优化 | 
|  |      9yulgang      2024-10-31 14:22:55 +08:00 换个品牌卡,调整格式化时块大小试一试? | 
|  |      12ReZer0      2024-10-31 14:31:10 +08:00 @zzzyk 有没有写普通文件而非软件的测试文件试试。我在想会不会是本身这类卡的 4k 读取能力问题,而你软件测试文件刚好一次性都是 kb 级别,中间没有个缓存,导致卡的写入瓶颈引发的卡顿现象。当然,你也可以拿个 U 盘格式化成 fat32 ,看看写入对象变成 U 盘的时候会不会也引发这种现象。 | 
|  |      13kenneth104      2024-10-31 14:34:14 +08:00 添加个 Cache ,容许丢数据就行 | 
|  |      15zzzyk OP @kenneth104 感谢建议,这是卡顿的应付措施,这个肯定会加的,我想找找看没有解决这个卡顿或者减小卡顿时间的办法。 | 
|  |      16kenneth104      2024-10-31 14:48:02 +08:00 其他办法,换 MLC 卡?没几个了,而且贵了些,但应该还好,需求容量不大 | 
|      17starqoq      2024-10-31 14:54:18 +08:00 via iPhone 感觉时写卡 cache 满了 然后卡顿了 试试写完以后马上调用一下 flush 或者用 usb3.0 的读卡器喝高速卡 | 
|  |      18ReZer0      2024-10-31 14:56:24 +08:00 @zzzyk 换个 4K 读写能力强点的。我怀疑是写缓给的不够导致卡本身出现写入瓶颈,用更强写入的 U 盘测试下看看问题是不是缓解。 | 
|  |      19zzzyk OP @starqoq 试过了,每次 write 都有 flush ,也试过没有 flush ,没有 flush 的写入时间正常波动,刷 cache 的时候的时间是 10ms ,没有刷的时候是 1ms ,不至于出现这个 4-5 秒的卡顿。 | 
|  |      21zzzyk OP @minami 大小不固定,1000 次 100k 数据,100k 数据也不固定,都不固定,只是单纯模拟实际应用场景(录像写文件)罢了 | 
|  |      23opengps      2024-10-31 15:40:08 +08:00 试试看用摄像头录像专用的 tf 卡,对写入能力支持更好些 | 
|  |      24kokutou      2024-10-31 15:48:21 +08:00 买那种写了什么摄像头存储卡 你看看京东页面参数 下面写了写入速度 有 50m/s 的那种 | 
|  |      25kokutou      2024-10-31 15:49:57 +08:00 | 
|      26starqoq      2024-10-31 16:00:48 +08:00 你可以试试高端一点的卡,可能是 tf 卡的主控回收 block 产生的卡顿。 | 
|  |      28wanguorui123      2024-10-31 17:25:59 +08:00 是不是 QLC 颗粒导致的啊 | 
|      29yinmin      364 天前 via iPhone 试试 sandisk a1 卡,如果是 linux 系统别买 a2 卡 | 
|  |      30cooltechbs      364 天前 via Android 关注此帖。我用过不少高速 TF 卡,用 CrystalDiskMark 测出来的 4K 读写 IOPS 都有一两千,可是尝试往上面装系统都是卡到不能自理。然而 Steam Deck 内置卡槽插上一样的卡却可以流畅安装运行 win11 。至今不知道什么原理,如果 LZ 解决了我一定回来涨涨见识 |