linux sd卡写文件速度慢,linux – SD卡写性能

我正在编写一个小应用程序,它在SD卡上以恒定速率写入jpeg图像.

我选择了一个EXT3文件系统,但是在EXT2文件系统中观察到了相同的行为.

我的写循环看起来像这样:

get_image()

fwrite()

fsync()

或者像这样:

get_image()

fopen()

fwrite()

fsync()

fclose()

我还显示了一些时序统计信息,我可以看到我的程序有时会被阻止几秒钟.

平均速率仍然很好,因为如果我将传入的图像保持为fifo,那么我将在这样的停顿之后的短时间内写出许多图像.您知道操作系统是否存在问题,或者它是否与SD卡本身有关?

我怎么能接近实时?我不需要强大的实时性,但是停滞几秒钟是不可接受的.

一些精度:

是的,每个文件后都需要fsync,因为我希望图像在磁盘上,而不是在某些用户或内核缓冲区中.没有fsyncing,我有更好的吞吐量,

但仍然是不可接受的失速.我不认为这是一个缓冲区问题,因为第一次失速发生在写入50 MB之后.根据手册页,fsync正是为了确保没有数据缓冲.

关于平均写入速率的精确度:

我正在以我正在使用的卡片可持续的速度写作.如果我在等待fsync完成时堆叠传入的图像,那么在此停顿之后写入传输速率将增加,我将很快回到平均速率.

平均传输速率约为1.4 MB / s.

系统是一台现代笔记本电脑运行ubuntu 8.04与库存记录(2.6.24.19)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值